我正在开发一个Python实用程序模块来帮助文件下载、归档等。我在一个虚拟环境中建立了一个项目以及我的单元测试。当我想在同一台计算机上使用这个模块时(本质上是“生产”),我将文件移到~/dev/modules/mymodulemymodule的mymodule
我将所有第三方模块保存在~/dev/modules/contrib下。这个contrib路径在我的PYTHONPATH上,但是mymodule不是因为我注意到如果mymodule在PYTHONPATH上,我的单元测试无法区分“开发”版本和“生产”版本。但是现在如果我想使用这个公共工具模块,我必须手动将它添加到PYTHONPATH中。在
这是可行的,但我相信有更好的,更自动化的方法。在
在同一台计算机上安装开发和生产模块的最佳方式是什么?例如,有没有一种方法可以动态地设置PYTHONPATH?在
您可以在
sys.path
添加/修改python路径,只要确保第一个路径是当前目录"."
,因为有些第三方模块依赖于从当前模块的目录导入。在有关python路径的详细信息: http://djangotricks.blogspot.com/2008/09/note-on-python-paths.html
您可以将
PYTHONPATH
设置为指向生产代码的全局环境变量,然后在任何要使用开发代码的shell中,将PYTHONPATH
更改为指向该代码。在(这是不是太简单了?我错过了什么吗?)在
我猜你说的虚拟环境是指VirtualEnvironment?在
http://pypi.python.org/pypi/virtualenv
我想做的是(如果我没有正确理解问题,我会道歉)是:
然后,为了测试:
对于生产:
也就是说,我写这篇文章的时候,我对一个没试过在愤怒中使用virtualenv的人充满信心,希望我能模糊地理解你的问题。。。;)
相关问题 更多 >
编程相关推荐