最佳答案
另一位开发人员和我对于是否应该使用 PYTHONPATH
或 sys.path
来允许 Python 在用户(例如开发人员)目录中查找 Python 包存在分歧。
我们有一个具有典型目录结构的 Python 项目:
Project
setup.py
package
__init__.py
lib.py
script.py
在 script.py 中,我们需要执行 import package.lib
。
但是,当从用户目录工作时,需要执行其他操作。我的解决方案是设置我的 PYTHONPATH
包括 "~/Project"
。另一个开发人员想把这行代码放在 script.py 的开头:
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
这样 Python 就可以找到 package.lib
的本地副本。
我认为这是一个坏主意,因为这一行只对开发人员或从本地副本运行的人有用,但我不能给出一个好的理由为什么这是一个坏主意。
我们应该使用 PYTOHNPATH
,sys.path
,或者是罚款?