82

使用最新 (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.
4

2 回答 2

148

这对我有用:

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

注意它的用法sudo

更新

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

更新 2

这似乎已在 1.5.1 中修复。

于 2014-01-03T14:56:00.550 回答
11

首先,你永远不应该运行'sudo pip'。

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

否则,请尝试升级 setuptools:

easy_install -U setuptools

或者,尝试:

pip install --user <somepackage>

这当然适用于“全局”包。理想情况下,您应该使用 virtualenvs。

于 2014-01-10T15:15:00.813 回答