用于开发和生产的独立Python路径

时间:2013-05-29 15:10:20

标签: python

我正在使用Python和Cygwin环境开发数据处理脚本和Python包我想主动使用这些脚本,同时还要更新这些脚本所依赖的包。我的问题是什么是最佳实践,建议管理模块加载路径以隔离和测试我的开发更改,但不影响生产脚本的工作。

Python按以下顺序导入模块(参见M. Lutz,学习Python

  1. 主目录。
  2. PYTHONPATH目录。
  3. 标准库目录。
  4. 任何*.pth文件的内容。
  5. 我目前的解决方案是在本地(不在/usr/lib/python2.x/ site-packages目录中安装我的软件包,并在全局*.pth目录中添加site-packages文件,这些是默认加载。在开发目录中,我只需修改PYTHONPATH以加载我正在积极处理本地更改的包。

    有没有更标准的方法来处理这种情况?设置virtualenv或其他一些操纵模块加载路径的方法?

1 个答案:

答案 0 :(得分:1)

这只是我的观点,但在这种情况下我可能会使用virtualenvs和Makefiles / scripts的组合。我没有为你的具体用例做过,但我经常为一个项目设置多个virtualenvs,每个项目都有不同的python版本。然后我可以使用Makefile在我的一个或所有virtualenvs中运行我的代码或测试。似乎设置一个允许您在开发环境中运行make devel的生成文件并为生产环境键入make production并不太难。

或者,您可以使用git分支来执行此操作。将您的生产脚本保留在master上,并使用功能分支来隔离和测试更改,同时让您的生产脚本只有git checkout master

相关问题