2011-04-19 50 views
3

這過程中添加一個Python包路徑是一個情況下,我希望你能幫助我。我如何運行

我在/home/k/PR-TEST/Pr/test

[email protected]:~/PR-TEST/Pr-test$ ls 
_apache.py  archive clienttest decorators.py fakeTecoreClient.py fixtures.pyc  psqlharness.py servertest testhelp.pyc testutils.pyc 
apache_server.py cache commontest decorators.pyc fixtures.py   mysqlharness.py runtests.sh  testhelp.py testutils.py 

蟒蛇單元測試,並有我實際運行測試,對@/home/k/PR/Pr命名(目錄命名)PREF包現在

[email protected]:~/PR/Pr$ pwd 
/home/kahmed/PR/Pr 
[email protected]:~/PR/Pr$ ls 
bin conf images init.d iped logrotate.d NEWS pref rpa sbin scripts src test VERSION 

,我cd to ~/PR-TEST/Pr-test,和運行:

nosetests -s --with-coverage --cover-package /home/k/PR/Pr/pref `find . -name "*test.py"` 

但我得到erros th它無法找到PREF

任何想法的包怎麼解決這個問題?

我必須確保Python環境中知道包PR

回答

3

如果你不能(或不願)之前修改PYTHONPATH您啓動程序,您可以在運行期間修改sys.path以實現類似的功能。
但在這種情況下,你需要將電話換到nosetests腳本。另外,也請您不要有大小寫的問題與你的包被稱爲Pr VS pr

+0

任何的例子嗎?在運行時添加自定義變量PR_PATH? – kamal 2011-04-19 13:18:41

+0

只需使用'import os; os.getenv(「PR_PATH」)'(http://docs.python.org/library/os.html#os.getenv)獲取值,並將其添加到'sys.path' – van 2011-04-20 06:56:47

1

你應該路徑添加到您的包裹到PYTHONPATH環境變量

+0

我想用一個自定義信封Varable像PR_HOME,或PR_PATH – kamal 2011-04-19 13:20:44

0

你應該把你的應用程序包的目錄「富/應用程序」,並在所謂的「富/測試」的另一個子目錄中的測試。然後從foo目錄運行測試,以便他們可以直接導入app

+0

我不能指定應用程序和測試將在foo下進行 – kamal 2011-04-19 13:20:11