【发布时间】:2014-05-13 20:40:54
【问题描述】:
由于我有限的大脑经过大量阅读后才明白,相对进口不好,绝对进口好。我的问题是,如何有效地管理包的“实时”和“开发”版本?也就是说,如果我使用绝对导入,我的实时代码和开发代码将看到相同的内容。
示例
/admin/project1/__init__.py
/scripts/__init__.py
/main1.py
/main2.py
/modules/__init__.py
/helper1.py
在我的 PYTHONPATH 上使用“/admin”,project1 的内容都使用绝对导入。例如:
main1.py
import project1.modules.helper1
但我想将 project1 的内容复制到另一个位置,并使用该副本进行开发和测试。因为一切都是绝对的,并且因为“/admin”在 PYTHONPATH 上,所以我复制的版本仍然会引用实时代码。我可以将我的新位置添加到 PYTHONPATH,并手动更改所有文件的名称(即在所有内容的末尾添加“dev”),进行更改/工作,然后当我准备好上线时,再次,手动从所有内容中删除“dev”。这会起作用,但很麻烦并且容易出错。
肯定有更好的方法来处理 Python 项目的“实时”和“开发”版本。
【问题讨论】:
标签: python debugging testing project-management python-2.6