我有一个python模块打包distutils成一个压缩的鸡蛋安装在自定义前缀。如果我将PYTHONPATH设置为包含该前缀的site-packages目录,则egg会添加到sys.path中,并且可以导入该模块。但是,如果我在脚本中运行site.addsitedir并使用前缀的site-packages目录,则egg不会添加到sys.path,并且导入模块失败。在这两种情况下,模块的site-packages目录都以sys.path结尾。site.addsitedir不添加鸡蛋到sys.path
这是预期的行为?如果是这样,有什么办法可以告诉Python在没有设置env var的情况下处理给定目录中的.pth文件吗?
什么是.pth文件?如果您手动将egg添加到sys.path,它会工作吗?创建和使用鸡蛋的Python版本是否相同? – jfs 2012-07-19 14:43:37
.pth文件:import sys; sys .__ plen = len(sys.path) ./webcharon-0.1-py2.7.egg import sys;新= sys.path中[SYS .__ PLEN:]; del sys.path [sys .__ plen:]; P = GETATTR(SYS, '__ egginsert',0); sys.path中[P:P] =新; sys .__ egginsert = p + len(新) – 2012-07-19 14:56:38
Python版本相同。事实上,相同的二进制。 – 2012-07-19 14:56:58