我使用的是Redhat Linux,默认的Python版本是2.6,所以我在/ user / local / bin文件夹上安装了Python 2.7.4并修改了shell配置文件,所以当我这样做时:
$which python
/usr/local/bin/python
这很好。
由于我没有该框的超级用户权限,所以我尝试将Python库安装到我具有写权限的文件夹中。所以这是我的库的结构:
我创建了一个名为
的文件夹/share/python
在该文件夹下,我创建了另一个名为library的文件夹,其中我放置了所有python库源文件夹。说我想安装pyes (Python Elastic Search)包。我首先下载了source_folder,tar解压缩并cd进了该文件夹。然后我做了
python setup.py install --prefix=/share/python
然后安装成功完成(I have done this before)并在
下创建了两个库文件夹/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
知道为什么会发生这种情况?
更新: 您需要将这些新的egg文件夹添加到您的路径中,它将起作用: 仍然不太确定为什么python setup.py install创建了两个egg文件夹但是没有将它们添加到路径中。
答案 0 :(得分:1)
http://peak.telecommunity.com/DevCenter/PythonEggs
.egg文件只是重命名的zip文件。
使用您的zip程序打开鸡蛋,或者只需将扩展名重命名为 .zip和extract。