Tag: sys.path

PYTHONPATH与sys.path

另一位开发者和我不同意应该使用PYTHONPATH还是sys.path来允许Python在用户(例如,开发)目录中find一个Python包。 我们有一个典型的目录结构的Python项目: Project setup.py package __init__.py lib.py script.py 在script.py中,我们需要import package.lib 。 当软件包安装在站点包中时,script.py可以findpackage.lib 。 但是,从用户目录进行工作时,还需要做其他事情。 我的解决scheme是设置我的PYTHONPATH包括“〜/项目”。 另一个开发者想把这行代码放在script.py的开头: sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) 所以Python可以findpackage.lib的本地副本。 我认为这是一个坏主意,因为这条线只对开发者或从本地副本运行的人有用,但我不能给出一个很好的理由,为什么这是一个坏主意。 我们应该使用PYTOHNPATH,sys.path,还是罚款?