【发布时间】:2013-10-01 07:20:37
【问题描述】:
我使用的是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 unzip 和 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 创建了两个eggs文件夹但不将它们添加到路径中。
【问题讨论】:
-
你不能访问python-egg文件,禁止
-
@drabo2005 权限问题?这两个文件夹的所有者是我,权限级别是 drwxrwsr-x,我认为这已经足够了。对吗?
标签: python python-2.7 path