Сложность установки / импорта pyqt5 в Ubuntu 18.04 - PullRequest
0 голосов
/ 27 февраля 2020

Цель: импортировать pyqt5 в python3 под Ubuntu 18.04

Я знаю, что есть много ответов на подобные вопросы здесь и в других местах. Я перепробовал многие из них, но не вижу ничего, что бы точно соответствовало моей ситуации.

Начиная с чистой установки Ubuntu 18.04, я попытался многими способами, чтобы иметь возможность получить утверждение import pyqt5 преуспеть в Python 3.6.9, который является значением по умолчанию python3 в этом дистрибутиве.

Ни один из них не удался.

В нескольких попытках переустановить Ubuntu заново несколько раз, я у меня был pip3, либо он 404 загрузил https://pypi.org/simple/python3-pyqt5/ и подтвердил ошибку, вставив URL в Firefox, а также получил 404. (Я также проверил, что Firefox работал нормально при доступе к Inte rnet)

Но обычно я запускаю процесс, который, кажется, указывает, что pyqt был успешно загружен, но все еще не смог импортировать его в Python3.

Среди вещей, которые я пробовал с различных веб-сайтов:

  • установка pip3 - обновление pip
  • установка pip3 pyqt5 == 5.14.0 против pip3 установка pyqt5 (по умолчанию 5.14.1)
  • установка си Модуль mple pypi и обнаружение, что я могу импортировать его в Python3 без проблем
  • запуск pip3 под sudo
  • обновление python3 до Python 3.7.4

Более полный список того, что я делал, начиная с переустановки, показан ниже.

Есть предложения по поиску решений или что посмотреть в моей системе?

У меня есть загрузочная карта памяти Ubuntu 18.04.4, который я создал на прошлой неделе, загрузив исполняемый файл с Ubuntu.com. Кажется, все, что упаковано с выпуском, работает нормально, включая Python 3.6.9 в других ситуациях. Я практически ничего не делаю, кроме следующих шагов.

sudo apt install python3-pip

pip3 install humanfriendly   (just to ensure that pip3 works for a simply pypi module)
pip3 install --upgrade pip
pip3 install python3-pyqt5
sudo apt-get install pyqt5-dev-tools  (no complaints from pip3 seems to work okay)
sudo apt-get install qttools5-dev-tools   (seems to work)
in python3 
    >>>import pyqt5
    Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
        ModuleNotFoundError: No module named 'pyqt5'

pip3 uninstall pyqt5        (Successfully uninstalled PyQt5-5.14.0)
pip3 install pyqt5 --user   (Successfully installed pyqt5-5.14.1
Try to import in python3 again, same result: "No module named 'pyqt5'"
cd ~/.local/bin
ls 
humanfriendly  pip  pip3  pip3.6  pylupdate5  pyrcc5  pyuic5
(there seems not to be an entry for pyqt5 although there is for some of its stand-alone componentes)

pip3 uninstall pyqt5
ls
humanfriendly  pip  pip3  pip3.6
(what was there went away)

pip3 uninstall pyqt5  (Successfully uninstalled PyQt5-5.14.1)
pip3 install pyqt5 --user (seems to succeed)
try to import in python3 (same error)
pip3 uninstall pyqt5  (Successfully uninstalled PyQt5-5.14.1)

next I tried sudo pip3 uninstall pyqt5
seems to work; not importable in python3; sudo pip3 uninstall

next I created a virtual env, ~/.vents/tevs
activate the venv

pip3 install pyqt5==5.14.0
    Installing collected packages: PyQt5-sip, pyqt5
attempt to import pyqt5 in python3:  fails as before

pip3 uninstall pyqt5
    (Successfully uninstalled PyQt5-5.14.0 after listing thousands of files
     in .venvs/tevs/lib/python3.6/site-packages/PyQt5)

pip3 install python3-pyqt5
    (fails with HTTP Error: 404 Client Error: 
    Not Found for url: https://pypi.org/simple/python3-pyqt5/)

1 Ответ

1 голос
/ 27 февраля 2020

В замечаниях ОП следует отметить несколько проблем:

  1. Имя библиотеки не обязательно совпадает с именем того, как импортировать библиотеки, с другой стороны, pip принимает такие имена, как pyqt5 и PyQt5 как эквивалентные, но при импорте вы должны использовать PyQt5, а не pyqt5, поэтому для проверки того, что вы установили, вы можете сделать следующее:

    • Запустите на консоли:

      $ python3 -c "from PyQt5.Qt import PYQT_VERSION_STR; print(PYQT_VERSION_STR)"
      5.14.1
      
    • Запустите на консоли python:

      Python 3.8.1 (default, Jan 22 2020, 06:38:00) 
      [GCC 9.2.0] on linux
      Type "help", "copyright", "credits" or "license" for more information.
      >>> from PyQt5.Qt import PYQT_VERSION_STR
      >>> print(PYQT_VERSION_STR)
      5.14.1
      
  2. python3 -pyqt5 - это имя пакета, который предлагает репозитории ubuntu для версии pyqt5, которую собирает ваше сообщество (обычно это не текущая версия). Поэтому для установки pyqt5 существует несколько способов:

    • Использование репозитория ubuntu: sudo apt-get install python3-pyqt5
    • Использование pip: python3 -m pip pyqt5 (Вы должны использовать sudo, если требуется) или python3 -m pip install pyqt5 --user ( Этот метод также применим к virtualenv)

Таким образом, я могу сделать вывод, что OP успешно установил PyQt5, но не смог проверить правильность установки, поэтому я рекомендую использовать то, что указано в (1)

...