有许多其他类似于这个问题的StackOverflow问答,但在每种情况下,平台不同或错误消息不同或解决方案没有效果或已过时。我正在尝试设置Python 2.7.6虚拟环境并在其中安装模块,但是easy_install提示不存在setuptools,但据我所知,easy_install是setuptools的一部分,这毫无意义。
问题只发生在虚拟环境中。以下是我的步骤:
- 创建了一个全新的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
标志,以解决我们网络中代理服务器的问题 sudo python ez_setup.py
sudo easy_install pip
sudo pip install virtualenv
virtualenv virtpy
. virtpy/bin/activate
easy_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"并不容易。我是做错了什么还是缺少了一些步骤?
python -V
的输出是什么?另外,因为/usr/local/bin/scripts/pkg_resources.py
似乎来自虚拟环境之外。 - Stefano Sanfilipposudo python ez_setup.py
时卡住了,出现了SyntaxError: invalid syntax
。这是因为a) setuptools已经停止支持Python 2.4和Python 2.5,b) ez_setup.py使用sys.executable来运行Python,而由于使用了sudo,它的路径是/usr/bin/python,这是一个全新安装的Python 2.4.3版本(可能是其他2.4.x版本,在我没有进行更新的情况下)。你运行的ez_setup.py版本是什么?sudo的版本是多少?你有没有省略某些步骤? - Piotr Dobrogost