首页
学习
活动
专区
圈层
工具
发布

PYTHONPATH
EN

Stack Overflow用户
提问于 2009-06-16 14:27:44
回答 6查看 24.2K关注 0票数 11

环境: 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

EN

回答 6

Stack Overflow用户

发布于 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

票数 6
EN

Stack Overflow用户

发布于 2009-06-16 16:31:17

我发现了这个问题(当有人指点我到Python的sys.path是从哪里初始化的?时,我很早就错过了)。

看起来,/usr/lib/python2.4/site-packages/easy-install.pth创建了一个pth文件,然后由site.py加载。这将在PYTHONPATH之前的sys路径中插入站点包路径。不太好。

票数 5
EN

Stack Overflow用户

发布于 2009-06-16 14:53:05

在'/home/me/dev/project/src‘之前,我在您的路径中看到’/usr/lib/python2.4/site‘,这有关系吗?当你换两个人时会怎么样?

从医生那里:

如果没有设置PYTHONPATH,或者在那里找不到文件,则搜索将在依赖于安装的默认路径中继续进行。

所以也许你没有像你想的那样在你的PYTHONPATH上找到你的工作副本?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1001851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档