【发布时间】:2014-03-11 01:26:33
【问题描述】:
还有许多与此类似的其他 StackOverflow 问题,但在每种情况下,平台不同或错误消息不同或解决方案无效或已过时。我正在尝试设置 Python 2.7.6 virtualenv 并将模块安装到其中,但 easy_install 给我的错误表明 setuptools 不可用。但是 AFAIK easy_install 是 setuptools 的一部分,所以这没有任何意义。
这个问题只发生在 virtualenv 中。这是我所做的:
- 创建了全新的 Red Hat 5 虚拟机
- 通过
yum -y update获取最新内容,已重新启动 - 下载Python-2.7.6.tar.gz,解压,
./configure; make; sudo make install - 确认
python -V给我 2.7.6,sudo python -V也给我 2.7.6 wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py- 修改了 ez_setup.py 以将
--no-check-certificate标志添加到 wget 以解决我们网络中的代理服务器问题 sudo python ez_setup.pysudo easy_install pipsudo pip install virtualenvvirtualenv virtpy. virtpy/bin/activateeasy_install elementtree
所有这些步骤都成功了,除了最后一个,它失败了:
Traceback (most recent call last):
File "/home/gperrow/virtpy/bin/easy_install", line 7, in <module>
from setuptools.command.easy_install import main
File "/home/gperrow/virtpy/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 44, in <module>
from setuptools.package_index import PackageIndex
File "/home/gperrow/virtpy/lib/python2.7/site-packages/setuptools/package_index.py", line 203, in <module>
sys.version[:3], require('setuptools')[0].version
File "/usr/local/bin/scripts/pkg_resources.py", line 584, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/local/bin/scripts/pkg_resources.py", line 482, in resolve
raise DistributionNotFound(req) # XXX put more info here
pkg_resources.DistributionNotFound: setuptools
我从一个干净的虚拟机开始,我没有做任何不寻常的事情,但我发现除了“easy_install”之外什么都没有。是我做错了什么还是错过了一个或多个步骤?
【问题讨论】:
-
我刚刚尝试过使用“easy_install elementtree”并没有遇到任何问题。只是出于好奇,为什么不使用“pip install elementtree”?我有一种(可能是错误的)印象,easy_install 通常只用于达到安装“pip”的目的。
-
pip install elementtree给了我不同的错误。我必须在命令行中添加“--allow-all-external --allow-unverified elementtree”,然后它会下载包但给我“错误:无效命令'egg_info'” -
只是为了仔细检查一下,
python -V在激活virualenv之后的输出是什么?也因为/usr/local/bin/scripts/pkg_resources.py似乎来自 virtualenv 之外 -
也是“Python 2.7.6”
-
半相关,但您应该注意,ElementTree 从 Python 2.5 开始是 stdlib 的一部分,因此您不需要首先安装它。 ;)
标签: python python-2.7 virtualenv pip easy-install