我正在使用带有 Cygwin 环境的 Python 来开发数据处理脚本和 Python 包,我想积极使用这些脚本,同时更新这些脚本所依赖的包。我的问题是最佳实践是什么,建议管理模块加载路径以隔离和测试我的开发更改但不影响生产脚本的工作。
Python 按以下顺序导入模块(参见 M. Lutz,Learning Python)
- 主目录。
PYTHONPATH
目录。- 标准库目录。
- 任何
*.pth
文件的内容。
我当前的解决方案是将我的包安装在本地(而不是/usr/lib/python2.x/
)目录中,并在全局目录中site-packages
添加一个文件,以便默认加载这些文件。然后,在开发目录中,我只需修改以加载我正在积极处理本地更改的包。 *.pth
site-packages
PYTHONPATH
有没有更标准的方法来处理这种情况?设置一种virtualenv
或其他方式来操作模块加载路径?