`pyqt5' ошибка `сбой генерации метаданных`

Я пытаюсь установить pyqt5, используя mac OS с чипом M1 и Python 3.9.12. Я подозреваю, что чип M1 может быть причиной.

Я получаю сообщение об ошибке metadata-generation-failed.

минимальный рабочий пример

# directly in the terminal
pip install --no-cache-dir PyQt5==5.14.1

или добавив строку ниже в requirements.txt

# necessary for jupyter-notebook so added to requirements.txt
# then run: pip install -r requirements.txt
pyqt5==5.14.1 # missing in conda-forge

мои попытки

Я также пытался использовать приведенные ниже решения, но не работал. Homebrew также утверждал, что был установлен pyqt, что было странно.

  1. pip install pyqt5
  2. brew install pyqt5
  3. добавляем его в requirements.txt и запускаем pip install -r requirements.txt

связанные вопросы:

🤔 А знаете ли вы, что...
Python поддерживает параллельное и асинхронное программирование с помощью модулей asyncio и multiprocessing.


5
369
3

Ответы:

В целях устранения неполадок вы можете запустить:

# Make sure python3 points to your Python 3.9.12
python3 -m venv /tmp/venv
source /tmp/venv/bin/activate
pip install --no-cache-dir PyQt5==5.14.1
# If last step fails and complains about `pip` version, upgrade `pip` and try `pip install ..` again

Если PyQt5 успешно установлен, то вы уверены, что это не проблема чипа M1. Тогда вы можете попробовать:

python3 -m pip install --no-cache-dir PyQt5==5.14.1

Решено

Может быть, вы можете попробовать добавить эту команду?

--use-deprecated=backtrack-on-build-failures

Вы можете попробовать добавить это за своей командой установки, например.

pip install pyqt5 --use-deprecated=backtrack-on-build-failures

Вы уже пробовали этот ответ?

  1. Открытый терминал с Rosetta 2 (https://dev.to/courier/tips-and-tricks-to-setup-your-apple-m1-for-development-547g)
  2. Используйте недоморощенный python (мой был в /usr/bin/python3) для создания виртуальной среды.
/usr/bin/python3 -m venv env
source env/bin/activate
  1. Обновить пункт
pip install --upgrade pip
  1. Установите PyQt5
pip install PyQt5

Это действительно может быть проблема M1. Я думаю, что это похоже на вашу проблему: Как я могу запустить pyqt5 на своем Mac с M1chip

Но может быть лучшим решением просто собрать пакет PyQt5 из исходного кода: Сборка PyQt5 из исходников

Я также нашел этот скрипт, где кто-то собирает и устанавливает PyQt6 на M1 Mac: Соберите PyQt6 на M1. Этот скрипт можно изменить для сборки PyQt5.

Обновлено: рассмотрите возможность использования PyQt6 (pip install PyQt6). У него уже есть универсальная2 сборка на pypi.