相关疑难解决方法(0)

在PYTHONPATH环境变量之前的路径中的鸡蛋

如果我从easy_install安装了软件包,则会sys.pathPYTHONPATH变量中的项之前添加egg .

例如,如果我在当前目录中安装了一个名为foo的egg包以及一个名为foo的包,那么执行以下操作:

PYTHONPATH="." python
>>> import foo
Run Code Online (Sandbox Code Playgroud)

这将使用egg版本foo而不是本地目录.检查sys.path显示鸡蛋放在物品之前PYTHONPATH.这似乎破了.有没有办法覆盖这种行为?

python setuptools easy-install

16
推荐指数
1
解决办法
8900
查看次数

用户模块不会首先加载(Python)

我已经在站点范围内安装了 Pandas 版本 0.12.0,并且用户需要 0.13.0。我告诉他将其安装到他的主目录中,他这样做了,但是当他键入时,import pandas它发现了旧模块。

因此,我决定打印出他的路径sys.path,并按以下顺序注意到这些路径(为了保持简短而删除了其他路径):

[
    '',
    '/apps/python/2.7.5/lib/python2.7/site-packages/pandas-0.12.0-py2.7-linux-x86_64.egg',
    '/home/user/.local/lib/python2.7/site-packages',
    '/apps/python/2.7.5/lib/python2.7/site-packages'

]
Run Code Online (Sandbox Code Playgroud)

PYTHONPATH 也出现在 pandas 之后:

[
    '',
    '/apps/python/2.7.5/lib/python2.7/site-packages/pandas-0.12.0-py2.7-linux-x86_64.egg',
    '/usr/lib64', // this is the PYTHONPATH
    '/home/user/.local/lib/python2.7/site-packages',
    '/apps/python/2.7.5/lib/python2.7/site-packages'

]
Run Code Online (Sandbox Code Playgroud)

什么会导致 pandas-0.12.0 在其他任何东西(甚至是 PYTHONPATH)之前被专门加载?还有其他几个包也表现出相同的行为。所有软件包均已通过pip或通过执行安装python setup.py install;这两种方法都会导致这样的问题吗?我认为我们没有手动编辑任何内容。

python pip

6
推荐指数
1
解决办法
943
查看次数

标签 统计

python ×2

easy-install ×1

pip ×1

setuptools ×1