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

标签 python

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

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

  1. 主目录。
  2. PYTHONPATH 目录。
  3. 标准库目录。
  4. 任何 *.pth 文件的内容。

我目前的解决方案是将我的包安装在本地(而不是在 /usr/lib/python2.x/)site-packages 目录中并添加一个 *.pth 文件在全局 site-packages 目录中,因此默认情况下会加载这些文件。在开发目录中,我然后简单地修改 PYTHONPATH 以加载我正在积极处理本地更改的包。

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

最佳答案

这只是我的意见,但在这种情况下我可能会结合使用 virtualenvs 和 Makefiles/scripts。我没有针对您的特定用例这样做,但我经常为一个项目设置多个 virtualenvs,每个都有不同的 python 版本。然后我可以使用 Makefile 在我的一个或所有 virtualenvs 中运行我的代码或测试。似乎设置一个 makefile 并不会太难,让您键入 make devel 以在开发环境中运行,并为生产环境键入 make production

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

关于python - 用于开发和生产的独立 Python 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16817623/

相关文章:

python - django .validate() 应该返回经过验证的数据

python - 在一行中打印 for 循环结果并排序

python - Windows 上 VTK 中的箭头键事件

python - 绘制直方图 : How can I do it from scratch using data stored in a database?

Python Pandas : Convert ".value_counts" output to dataframe

java - 在python中设置区域设置编码

python - pandas:函数等同于 SQL 的 datediff()?

python - ARP扫描程序

python - 有没有一种简单的方法可以从 mpg 文件中打印出 1's and 0' s?

python - 如何在 matplotlib 轴上标记一系列值?