环境:debian 4.0
Python 2.4
我的'项目'安装在:
/usr/lib/python2.4/site-packages/project.
但我想使用我的工作副本而不是安装的副本,它位于:
/家/我的/ dev /项目/ src目录
所以我做的是:
export PYTHONPATH =/home/me/dev/project/src
IPython中
import foo#在src中
foo.__file__
*/usr/lib/python2.4/site-packages/project/foo.py*
代替 :
/home/me/dev/project/src/project/foo.py
怎么会?我尝试检查pathes(完成上面的导出),我看到的是:
import sys,os
sys.path中
['','/ usr/bin','/ usr/lib/python2.4/site-package','/ home/me/dev/project/src','/ usr/lib/python24.zip', '/usr/lib/python2.4','/ usr/lib/python2.4/plat-linux2','/ usr/lib/python2.4/lib -tk','/ usr/lib/python2.4/lib-dynload','/ usr/local/lib/python2.4/site-packages','/ usr/lib/python2.4/site-package/PIL','/ var/lib/python-support/python2.4','/ usr/lib/python2.4/site-packages /IPython/Extensions','/ home/me/.ipython']
os.environ [ 'PYTHONPATH']
/家/我的/ dev /项目/ src目录
van.. 6
根据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
根据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
我发现了问题(当有人向我指出Python的sys.path从哪里初始化时,我很早就错过了?).
似乎easy_install创建了一个pth文件/usr/lib/python2.4/site-packages/easy-install.pth,然后由site.py加载.这将在PYTHONPATH之前的sys路径中插入site-packages路径.不太好.