这是一个场景,希望你能帮助我。
我在 /home/k/PR-TEST/Pr/test
中有 python 单元测试
kahmed@qatools:~/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
kahmed@qatools:~/PR/Pr$ pwd
/home/kahmed/PR/Pr
kahmed@qatools:~/PR/Pr$ ls
bin conf images init.d iped logrotate.d NEWS pref rpa sbin scripts src test VERSION
现在,我 cd 到 ~/PR-TEST/Pr-test
,然后运行:
nosetests -s --with-coverage --cover-package /home/k/PR/Pr/pref `find . -name "*test.py"`
但是我得到错误,它找不到 pref 中的包
知道如何解决这个问题吗?
我必须确保 python 环境知道包 pr
最佳答案
如果您不能(或不想)在启动程序之前修改 PYTHONPATH,您可以修改 sys.path在运行时期间实现类似的功能。
但在这种情况下,您需要包装对 nosetests
脚本的调用。另外请检查您的包是否存在区分大小写的问题 Pr
与 pr
。
关于python - 我如何在运行时添加 python 包路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5712460/