最新的“ pip”失败了,其中的“ need setuptools > = 0.8 for dist-info”

使用最近的(1.5)版本的 pip,我在尝试更新几个包时遇到一个错误。例如,sudo pip install -U pytz在以下情况下会导致失败:

Wheel installs require setuptools >= 0.8 for dist-info support.
pip's wheel support requires setuptools >= 0.8 for dist-info support.

我不明白这个消息 (我有 setuptools2.1)或如何处理它。


此错误的日志中的异常信息:

Exception information:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 230, in run
finder = self._build_package_finder(options, index_urls, session)
File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 185, in _build_package_finder
session=session,
File "/Library/Python/2.7/site-packages/pip/index.py", line 50, in __init__
self.use_wheel = use_wheel
File "/Library/Python/2.7/site-packages/pip/index.py", line 89, in use_wheel
raise InstallationError("pip's wheel support requires setuptools >= 0.8 for dist-info support.")
InstallationError: pip's wheel support requires setuptools >= 0.8 for dist-info support.
33668 次浏览

这对我很有效:

sudo pip install setuptools --no-use-wheel --upgrade

注意它是 sudo的用法

更新

在 Windows 上,你只需要以管理员的身份执行 pip install setuptools --no-use-wheel --upgrade,在 Unix/Linux 中,sudo命令用于提升权限。

更新2

这似乎已经在1.5.1中得到修复。

首先,永远不要运行“ sudo pip”。

如果可能的话,您应该使用您的系统包管理器,因为它使用 GPG 签名来确保您没有运行恶意代码。

否则,试着升级 setuptools:

easy_install -U setuptools

或者,试试:

pip install --user <somepackage>

这当然是针对“ global”包的,理想情况下您应该使用 viralenvs。