Последний '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's 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's wheel support requires setuptools >= 0.8 for dist-info support.")
InstallationError: pip's wheel support requires setuptools >= 0.8 for dist-info support.

3 ответа

Решение

Это сработало для меня:

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

Обратите внимание, что это использование sudo

ОБНОВИТЬ

В окне вам просто нужно выполнить pip install setuptools --no-use-wheel --upgrade как администратор В Unix/ Linux, sudo Команда для повышения прав.

ОБНОВИТЬ

Похоже, это было исправлено в 1.5.1.

Во-первых, вы никогда не должны запускать 'sudo pip'.

Если возможно, вам следует использовать системный менеджер пакетов, потому что он использует подписи GPG, чтобы гарантировать, что вы не запускаете вредоносный код.

В противном случае попробуйте обновить setuptools:

easy_install -U setuptools

Или попробуйте:

pip install --user <somepackage>

Это конечно для "глобальных" пакетов. В идеале вы должны использовать virtualenvs.

В качестве вклада в усилия по отладке я получил сообщение «AssertionError: обнаружено несколько каталогов .egg-info: подпроцесс-вышел с ошибками» в Windows Python 3.11. Кажется, это связано с setuptools.

Я чистил файл c:\users<user>\appdata\local\temp, но ошибка не исчезла. Не найдено имя файла/папки, соответствующее ".egg-info" (хотя есть файлы, соответствующие "egg_info"

Возможно, необычным фактом является то, что пакет, который я создаю, находится на диске F:, а виртуальная среда находится на диске C: в остальном пути в порядке.

(venv_mfa) PS F:\pj_tpl> python -m pip install --no-cache-dir -v -e .
Использование pip 23.1.2 из C:\Users\mgua0\venv_mfa\Lib\site-packages\pip (python 3.11)
Получение файла:///F:/pj_tpl
  Запуск подпроцесса команды pip для установки зависимостей сборки
  Сбор установочных инструментов
    Использование кэшированного файла setuptools-67.8.0-py3-none-any.whl (1,1 МБ)
  Установка собранных пакетов: setuptools
  Успешно установлено setuptools-67.8.0.
  Установка зависимостей сборки... готово
  Запуск команды. Проверка, поддерживает ли серверная часть сборки build_editable.
  Проверка, поддерживает ли серверная часть сборки build_editable... готово
  Выполнение команды Получение требований для сборки, доступной для редактирования
  Получение требований для сборки редактируемого... готово
  Запуск подпроцесса команды pip для установки зависимостей серверной части
  Коллекционное колесо
    Использование кэшированного колеса-0.40.0-py3-none-any.whl (64 КБ)
  Установка собранных пакетов: колесо
  Успешно установлено колесо-0.40.0
  Установка внутренних зависимостей... готово
  Запуск команды. Подготовка редактируемых метаданных (pyproject.toml).
  Traceback (последний вызов последний):
    Файл «C:\Users\mgua0\venv_mfa\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py», строка 353, в
      основной()
    Файл «C:\Users\mgua0\venv_mfa\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py», строка 335, в основном файле.
      json_out['return_val'] = крючок(**hook_input['kwargs'])
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Файл «C:\Users\mgua0\venv_mfa\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py», строка 181, в prete_metadata_for_build_editable
      возвратный крючок (каталог_метаданных, config_settings)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Файл «C:\Users\mgua0\AppData\Local\Temp\pip-build-env-swirme89\overlay\Lib\site-packages\setuptools\build_meta.py», строка 454, в prete_metadata_for_build_editable
      return self.prepare_metadata_for_build_wheel(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Файл «C:\Users\mgua0\AppData\Local\Temp\pip-build-env-swirme89\overlay\Lib\site-packages\setuptools\build_meta.py», строка 382, ​​в prete_metadata_for_build_wheel
      self._bubble_up_info_directory(каталог_метаданных, ".egg-info")
    Файл «C:\Users\mgua0\AppData\Local\Temp\pip-build-env-swirme89\overlay\Lib\site-packages\setuptools\build_meta.py», строка 353, в _bubble_up_info_directory
      info_dir = self._find_info_directory(каталог_метаданных, суффикс)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^
    Файл «C:\Users\mgua0\AppData\Local\Temp\pip-build-env-swirme89\overlay\Lib\site-packages\setuptools\build_meta.py», строка 364, в _find_info_directory
      Assert len(candidates) == 1, f"Найдено несколько каталогов с {суффиксом}"
             ^^^^^^^^^^^^^^^^^^^^^
  AssertionError: обнаружено несколько каталогов .egg-info.
  ошибка: подпроцесс завершен с ошибкой

  × Подготовка редактируемых метаданных (pyproject.toml) не завершилась успешно.
  │ код выхода: 1
  ╰─> См. вывод выше.

  Примечание. Эта ошибка возникает в подпроцессе и, скорее всего, не является проблемой pip.
  полная команда: 'C:\Users\mgua0\venv_mfa\Scripts\python.exe' 'C:\Users\mgua0\venv_mfa\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py'prepre_metadata_for_build_editable 'C:\Users\mgua0\AppData\Local\Temp\tmpxmnvgja0'
  cwd: F:\pj_tpl
  Подготовка редактируемых метаданных (pyproject.toml)... ошибка
ошибка: не удалось создать метаданные

× Обнаружена ошибка при создании метаданных пакета.
╰─> См. вывод выше.

Примечание. Это проблема упомянутого выше пакета, а не pip.
Подсказка: подробности см. выше.
(venv_mfa) PS F:\pj_tpl>
Другие вопросы по тегам