Не удалось создать колеса для _, которые используют PEP 517 и не могут быть установлены напрямую - Простое решение

Я пытаюсь установить пакет, использующий PEP 517. Новейшая версия Pip не позволяет мне установить из-за ошибки, связанной с сборкой колес для 517.

Раньше я решил эту проблему, понизив Pip, установив пакет и обновив Pip до последней версии. Однако после того, как я понизил версию pip в своем virtualenv, если я попытаюсь запустить "Pip install black", я получу ошибку "Нет модуля с именем pip._internal.cli.main".

Как я могу это решить?

12 ответов

Решение

Самое простое решение проблемы с ошибкой

"Could not build wheels for ____ which use PEP 517 and cannot be installed directly" 

следующее:

sudo pip3 install _____ --no-binary :all:

Где ____, очевидно, имя библиотеки, которую вы хотите установить.

Эта ошибка возникла для библиотеки h5py во время установки Tensorflow. Я проверил документацию по h5py, чтобы убедиться, что у меня есть правильные версии pip и setuptools, https://pip.pypa.io/en/stable/reference/pip/.

       pip install --upgrade pip setuptools wheel

Затем я проверил журнал ошибок, чтобы определить, что привело к сбою h5py при установке внутренних зависимостей. Я определил, что это был libhdf5.so, где написано: " Ошибка: libhdf5.so не может открыть файл общих объектов: нет такого файла или каталога". Я установил библиотеку, запустив:

       sudo apt-get install libhdf5-dev

После этого h5py успешно установился вместе с TensorFlow. Я встречал похожие ошибки PEP 517, вызванные отсутствием зависимостей:

  1. ОШИБКА: не удалось создать колеса для glpk, которые используют PEP 517 и не могут быть установлены напрямую
  2. ОШИБКА: не удалось создать колеса для scipy, которые используют PEP 517 и не могут быть установлены напрямую

Это решение из этой ссылки помогло мне:

      pip install --upgrade pip setuptools wheel

Иногда это может быть из-за проблемы с кешем, и флаг отсутствия двоичного кода не работает. В таком случае попробуйте pip install <insert package names> --no-cache-dir.

Кажется, это частая проблема при установке пакетов с помощью python. Во-первых, убедитесь, что вы активировали virtualenv, в котором, по вашему мнению, вы должны быть, затем проверьте, есть ли у вас колеса pkg (если нет, pip install wheel). Если это не удается, в игру вступают флаги --no-cache-dir или --no-binary. Также может помочь чтение документации pypi для каждого пакета. Удачи!

Когда я столкнулся с этой ошибкой, проблема заключалась в том, что в пакете, который я извлекал, были неправильно настроены метаданные, что привело к сбою сборки колес.

Чтобы найти эту ошибку, я побежал, Это позволило мне увидеть, что насчет сбоев в сборке колеса, и исправить это в предыдущей версии.

Разместите здесь ответ в качестве ссылки для будущих искателей.

Я попытался установить подушку и получил эту ошибку. Пробовал много разных подходов, ни один из них не сработал. Затем я понизил версию Python (с 3.9) до 3.8 и снова попытался установить с помощью pip, тогда это сработало.

Если это не поможет, попробуйте понизить версию Python, и это может сработать.

Эта ошибка может быть связана с архитектурой на базе ARM.

Проверьте, установлена ​​ли у вас часть разработки Python. Если нет, то:

      sudo apt update
sudo apt install python3.X-dev

попробуйте это:pip3 install --upgrade pip

В OSX установка SYSTEM_VERSION_COMPAT=1 в моей среде до запуска pip решила эту проблему:

      export SYSTEM_VERSION_COMPAT=1

любой, у кого есть Python 3.10, должен попытаться перейти на более раннюю версию. Столкнулся с той же проблемой при установке numpy и pandas через pip. Последним, что сработало, был переход на Python 3.8.x. (Не пробовал с Python 3.9.)

Я столкнулся с той же проблемой при удалении и переустановке miniconda. Я понятия не имею, почему, но в моем разделе реестра Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor AutoRun установлено значение «если существует». Я удалил значение, оно работало нормально, как и раньше

Другие вопросы по тегам