我正在重新设计/重构我的Python量子化学包(pyquante)。我不喜欢现有版本的一件事是我必须安装软件包才能运行测试套件。也就是说,测试套件包含from PyQuante import SCF
之类的语句,当然,这个PyQuante可以引用已安装的版本或本地版本。
我知道virtualenv,并意识到这是我的选择。但我想知道其他什么是合适的。在过去,我已经为这样的事情攻击了sys.path
,并且更好的Python程序员告诉我,我不应该这样做。
有没有人对我如何做到这一点有任何建议?关键是我想测试当前版本的代码而不安装它。
提前感谢能够看透我的唠叨并提供建议的任何人!
答案 0 :(得分:17)
为您的东西创建一个合适的包并使用
python setup.py develop
使它成为一个合适的开发包。
请参阅:
答案 1 :(得分:4)
我会诚实地坚持使用 virtualenv ,这是出于这个原因而设计的。非常小的开销,如果你搞砸只是删除目录。我相信随着你的成长,事情就不会像现在这样简单。把它当作学习的机会。
答案 2 :(得分:2)
在生产环境中改变sys.path
可能是不明智的。改变它进行测试通常是可以的。
如果您不想修改sys
中的变量,请使用名为PYTHONPATH
的环境变量,这是一种干净且有文档记录的方式。