问题
Using the recent (1.5) version of pip
, I get an error when attempting to update several packages. For example, sudo pip install -U pytz
results in failure with:
Wheel installs require setuptools >= 0.8 for dist-info support.
pip's wheel support requires setuptools >= 0.8 for dist-info support.
I don't understand this message (I have setuptools 2.1) or what to do about it.
Exception information from the log for this error:
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.
回答1:
This worked for me:
sudo pip install setuptools --no-use-wheel --upgrade
Note it's usage of sudo
UPDATE
On window you just need to execute pip install setuptools --no-use-wheel --upgrade
as an administrator. In unix/linux, sudo
command is for elevating permissions.
UPDATE
This appears to have been fixed in 1.5.1.
回答2:
First, you should never run 'sudo pip'.
If possible you should use your system package manager because it uses GPG signatures to ensure you're not running malicious code.
Otherwise, try upgrading setuptools:
easy_install -U setuptools
Alternatively, try:
pip install --user <somepackage>
This is of course for "global" packages. You should ideally be using virtualenvs.
来源:https://stackoverflow.com/questions/20905350/latest-pip-fails-with-requires-setuptools-0-8-for-dist-info