【问题标题】:Work around easy-install.pth file解决 easy-install.pth 文件
【发布时间】:2018-07-30 05:13:42
【问题描述】:

当该模块也在系统范围的easy-install.pth 文件中定义时,如何获取 python 脚本来导入我正在处理的模块的开发版本(在我的主目录中)?

$> more /usr/lib/python2.7/site-packages/easy-install.pth 
import sys; sys.__plen = len(sys.path)
./foo-1.1.09-py2.7-linux-x86_64.egg
import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:];      
p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new)

foo 模块的设置如下:

foo/
   |---- __init__.py
   |---- test.py 
   |---- module1.py
   |---- etc.

我想从命令行执行一个脚本,但是当我这样做时

/home/dave/src$> python foo/test.py

该脚本导入已安装在/usr 下的版本;如果我的工作目录是/home/dave/src/foo,也是一样。

当然,我的/home/dave/src前面有PYTHONPATH

对于easy-install.pth 预先挂在PYTHONPATH 的方式,有什么可行的解决方法?

【问题讨论】:

    标签: python-2.7 easy-install pythonpath


    【解决方案1】:

    使用-S 选项和完全明确的路径。

    例如

    $> PYTHONPATH=$HOME/src:/usr/lib/python2.7/site-packages python -S foo/test.py 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-19
      • 2013-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-16
      相关资源
      最近更新 更多