Последний "pip" не работает с "требует setuptools >= 0.8 для dist-info"
Используя недавнюю (1.5) версию pip
, я получаю сообщение об ошибке при попытке обновления нескольких пакетов. Например, sudo pip install -U pytz
приводит к ошибке с помощью:
Wheel installs require setuptools >= 0.8 for dist-info support.
pip wheel support requires setuptools >= 0.8 for dist-info support.
Я не понимаю это сообщение (у меня есть setuptools
2.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 wheel support requires setuptools >= 0.8 for dist-info support.")
InstallationError: pip wheel support requires setuptools >= 0.8 for dist-info support.
Ответы
Ответ 1
Это сработало для меня:
sudo pip install setuptools --no-use-wheel --upgrade
Обратите внимание на использование sudo
UPDATE
В окне вам просто нужно выполнить pip install setuptools --no-use-wheel --upgrade
в качестве администратора. В unix/linux команда sudo
предназначена для повышения прав доступа.
UPDATE
Это, похоже, было исправлено в 1.5.1.
Ответ 2
Во-первых, вы никогда не должны запускать 'sudo pip'.
Если возможно, вам следует использовать диспетчер системных пакетов, поскольку он использует подписи GPG, чтобы убедиться, что вы не используете вредоносный код.
В противном случае попробуйте обновить setuptools:
easy_install -U setuptools
В качестве альтернативы попробуйте:
pip install --user <somepackage>
Это, конечно, для "глобальных" пакетов. В идеале вы должны использовать virtualenvs.