Останній "піп" не вдається з "вимагає setuptools> = 0,8 для dist-info"


81

Використовуючи останню (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.

Відповіді:


148

Це спрацювало для мене:

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

Зверніть увагу, що це використання sudo

ОНОВЛЕННЯ

У вікні вам просто потрібно виконати pip install setuptools --no-use-wheel --upgradeяк адміністратор. У unix / linux sudoкоманда призначена для підвищення дозволів.

ОНОВЛЕННЯ

Здається, це було виправлено в 1.5.1.


Вибачте, що, здається, не повністю вирішує мою проблему, все ще працює над нею.
Роландф

Мені довелося повернутися за допомогою pip 1.4, шукати виправлення пізніше.
Роландф

Працював у мене. Не знаю, чому так сталося.
аме

4
Зверніть увагу, що додана --no-use-wheelопція просто пропускає використання "архівів коліс" , але в іншому випадку виконує точно ту саму установку, що і команда, яка її опускає.
orome

1
Працював у мене на Centos 6. Розмова про абстрактне повідомлення про помилку.
п'ятниця

11

По-перше, ви ніколи не повинні запускати "sudo pip".

Якщо це можливо, вам слід скористатися менеджером системних пакетів, оскільки він використовує підписи GPG, щоб переконатися, що у вас не використовується шкідливий код.

В іншому випадку спробуйте оновити setuptools:

easy_install -U setuptools

Або спробуйте:

pip install --user <somepackage>

Звичайно, це стосується "глобальних" пакетів. Ви в ідеалі повинні використовувати virtualenvs.


6
Як правило, запускати pip як sudo - це неправильно. Тим НЕ менше, іноді ви робите необхідність встановити речі в системі пітон (наприклад, virtualenv або ГПГ , себе), і Судо доречно тоді.
Luke Sneeringer

1
@LukeSneeringer: Чому це "неправильно". Я не думаю, що у мене насправді є вибір, без певної реконфігурації.
orome

1
easy_install -U setuptoolsскелі!
madzohan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.