环境: debian 4.0
Python 2.4
我的“项目”安装在:
/usr/lib/python2.4/site-packages/project。
但我希望使用我的工作副本而不是安装的副本,该副本位于:
/home/me/dev/project/src
所以我要做的是:
出口PYTHONPATH=/home/me/dev/project/src ipython 导入foo #,在src中
foo.__file__*/usr/lib/python2.4/site-packages/project/foo.py*
而不是:
/home/me/dev/project/src/project/foo.py
怎么会这样?我试着检查路径(完成了上面的导出),我看到的是:
进口系统 sys.path ‘,'/usr/bin',’/usr/lib/python2.4/site‘,'/home/me/dev/project/src','/usr/lib/python24.zip','/usr/lib/python2.4',’/usr/lib/python2.4/plat-linux2 2‘,'/usr/lib/python2.4/lib-tk','/usr/lib/python2.4/lib-dynload',’/usr/lib/python2.4/lib-dynload‘,'/usr/local/lib/python2.4/site-packages',‘/usr/lib/python2.4/site/PIL’,‘/var/lib/python2.4’support/python2.4‘,'/usr/lib/python2.4/site-packages/IPython/Extensions',’/home/me/..ipython‘ ‘’PYTHONPATH‘ /home/me/dev/project/src
发布于 2009-06-16 15:06:09
根据python文档,这是预期的行为:https://docs.python.org/2.4/lib/module-sys.html
注意,脚本目录是在之前插入的,插入的条目是PYTHONPATH的结果。
在python-2.6下,它是不同的:http://docs.python.org/tutorial/modules.html#the-module-search-path
发布于 2009-06-16 16:31:17
我发现了这个问题(当有人指点我到Python的sys.path是从哪里初始化的?时,我很早就错过了)。
看起来,/usr/lib/python2.4/site-packages/easy-install.pth创建了一个pth文件,然后由site.py加载。这将在PYTHONPATH之前的sys路径中插入站点包路径。不太好。
发布于 2009-06-16 14:53:05
在'/home/me/dev/project/src‘之前,我在您的路径中看到’/usr/lib/python2.4/site‘,这有关系吗?当你换两个人时会怎么样?
从医生那里:
如果没有设置PYTHONPATH,或者在那里找不到文件,则搜索将在依赖于安装的默认路径中继续进行。
所以也许你没有像你想的那样在你的PYTHONPATH上找到你的工作副本?
https://stackoverflow.com/questions/1001851
复制相似问题