另一个Python路径问题

另一个Python路径问题,python,python-2.7,path,Python,Python 2.7,Path,我使用的是Redhat Linux,默认Python版本是2.6,因此我在/user/local/bin文件夹中安装了Python 2.7.4,并修改了shell配置文件,因此当我这样做时: $which python /usr/local/bin/python 这很好 因为我没有box的超级用户权限,所以我尝试将Python库安装到我有写权限的文件夹中。这就是我的库的结构: 我创建了一个名为 /share/python 在这个文件夹下,我创建了另一个名为library的文件夹,我把所有py

我使用的是Redhat Linux,默认Python版本是2.6,因此我在/user/local/bin文件夹中安装了Python 2.7.4,并修改了shell配置文件,因此当我这样做时:

$which python
/usr/local/bin/python
这很好

因为我没有box的超级用户权限,所以我尝试将Python库安装到我有写权限的文件夹中。这就是我的库的结构:

我创建了一个名为

/share/python
在这个文件夹下,我创建了另一个名为library的文件夹,我把所有python库源文件夹都放在这个文件夹中。假设我想安装这个软件包。我首先下载了source_文件夹,tar解压并将cd放入该文件夹。然后我做到了

python setup.py install --prefix=/share/python
然后,安装成功完成(),并在下创建了两个库文件夹

/share/python/lib/python2.7/site-packages/
他们是

urllib3-1.6-py2.7.egg 
pyes-0.20.1-py2.7.egg
当我打开Python时。打印sys.path,以仔细检查是否包含自定义库路径。它是这样说的:

>>import sys
>>print sys.path
['','/usr/local/lib/python2.7/site-packages/...'..., '/share/python/lib/python2.7/site-packages']
我很确定python知道在哪里可以找到pyes和urllib3(作为依赖项安装)。但是,我仍然无法加载库,错误如下:

>>> from pyes import *
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named pyes
>>> import urllib3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named urllib3
来自pyes导入的
>>*
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ImportError:没有名为pyes的模块
>>>导入urllib3
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ImportError:没有名为urllib3的模块
你知道为什么会这样吗

更新: 您需要将这些新的egg文件夹添加到您的路径中,它将起作用: 仍然不太清楚为什么python setup.py install创建了两个egg文件夹,但没有将它们添加到路径中

.egg文件只是重命名为zip文件

用zip程序打开egg,或者将扩展名重命名为 .zip,然后解压缩


您无法访问python egg文件,它forbidden@drabo2005许可问题?这两个文件夹的所有者是我,权限级别是drwxrwsr-x,我认为这已经足够好了。对吗?它可能在Windows中以压缩文件的形式存在,但在Linux中我看不到它是如何压缩的。但是,您的回答非常鼓舞人心,我尝试将这两个egg文件夹添加到Python路径中,现在它成功了。。我想知道为什么python setup.py install没有为我添加这些内容……我已经用一个链接更新了我的答案,这个链接可能会帮助您了解鸡蛋是如何工作的。您知道为什么python install prefix命令没有将新创建的鸡蛋文件夹添加到python路径吗?在这种情况下,我能做些什么来自动包含鸡蛋文件夹吗?不,我不知道。实际上,我并不是真的手动使用鸡蛋。我对它们所做的唯一一件事就是从pypi安装它们。这个egg是什么?只是一个包含pyes(python弹性搜索)和urllib3(依赖项之一)模块的文件夹