另一位开发人员和我不同意是否PYTHONPATH
或sys.path
应该使用 Python 在用户(例如,开发)目录中查找 Python 包。
我们有一个具有典型目录结构的 Python 项目:
Project
setup.py
package
__init__.py
lib.py
script.py
在 script.py 中,我们需要做import package.lib
. 当软件包安装在 site-packages 中时,script.py 可以找到package.lib
.
但是,当从用户目录工作时,需要做其他事情。我的解决方案是将 my 设置PYTHONPATH
为包含"~/Project"
. 另一个开发者想把这行代码放在 script.py 的开头:
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
这样 Python 就可以找到package.lib
.
我认为这是一个坏主意,因为这条线仅对开发人员或从本地副本运行的人有用,但我无法给出一个坏主意的充分理由。
我们应该使用PYTOHNPATH
,sys.path
还是可以?