Модуль PyQt5 и QtGui не найден
есть ли какая-то причина, по которой QtGui упакован с PyQt5???
я использую быструю книгу программирования GUI Марка Саммерфилда. Очевидно, эта книга была написана с учетом Qt4, но мне было рекомендовано использовать Qt5 и PyQt5. Я хочу запустить первый пример кода в главе 4. Код начинается со следующих инструкций импорта:
import sys
import time
from PyQt5.QtCore import *
from PyQt5.QtGui import *
на что компилятор отвечает:
Traceback (most recent call last):
File "wakeUp.py", line 4, in <module>
from PyQt5.QtGui import *
ImportError: No module named 'PyQt5.QtGui'
обратите внимание, что PyQt5.Инструкция QtCore import не генерирует ошибка.
из терминала,
$ echo $PYTHONPATH
:/usr/lib/python3.3/site-packages
кто-нибудь еще сталкивался с этой ошибкой импорта для QtGui?
из интерактивной сессии я могу
>>> import PyQt5.Qt
>>> import PyQt5.QtDBus
>>> import PyQt5.QtNetwork
>>> import PyQt5.QtXmlPatterns
но у меня нет QtWidgets, QtGui, QtWebkit, QtDesigner и нескольких других.
кроме того, если это полезно, содержимое /usr/lib/python3.3/site-packages / PyQt5 являются следующими:
__init__.py QtCore.so QtDBus.so QtNetwork.so Qt.so QtXmlPatterns.so uic
которые являются теми же модулями, которые я могу импортировать. Если другие модули (QtWidgets, QtGui и т. д.)тоже здесь?
я использую Ubuntu 13.04 и Python 3.3.
5 ответов
при первой попытке pyqt4 и pyqt5 и PyCharm IDE у меня было много проблем с импортом. (хотя у импорта не было проблем, запущенных из холостого хода) в конечном итоге после большой набивки, удаления и переустановки (включая зависимости) импорт разобрался сам.
вы установили pyqt5 с помощью установщика с веб-сайта pyqt? Вы должны. Qt designer находится в меню Пуск в windows. При следовании учебникам PyQt4 мне повезло использовать следующее инструкции импорта для PyQt5...
from PyQt4 import QtCore, QtGui #in the pyqt4 tutorials
from PyQt5 import QtCore, QtGui, QtWidgets #works for pyqt5
Я сам новичок в этом, но в pyqt4 QtWidget был частью QtGui (QtGui.QtWidget), в pyqt5 он импортируется сам по себе как QtWidgets. Его только небольшое изменение в коде, чтобы получить PyQt4 учебники, работающие в pyqt5.
Я лично вернулся в pYqt4, чтобы воспользоваться pyqtgraph.
посмотрите на мой пост pyqt4 здесь который проведет вас через использование Qt Designer.
настройте pyqt с помощью этой команды:
python[3] configure.py --qmake=[path to Qt5.x]/bin/qmake --verbose
строит ли модуль qt или нет, зависит от configure.py проверка. Взгляните на выход терминала, и вы найдете причину, почему QtGui..QtWidgets был установлен неправильно.
проблема была, когда я запускал сценарий настройки PyQt5. Правильный вариант прохождения шел так:
> python3 configure.py --qmake [path to Qt5.x]/bin/qmake
я предоставлял путь до bin, но конкретно не указывал на qmake. Иди разберись!
после запуска сценария настройки, как это, я смог импортировать все модули PyQt5.
та же проблема, python запускает py ok, но во всех IDE: visual studio code/PyCharm. Он покажет ошибки.
наконец, я решил его, установив путь env VAR PYTHONPATH к Python site-packages, например,
PYTHONPATH=D:\Anaconda3\Lib\site-packages
на PyQt5, QtGui пакет и модулями QtCore находится в QtWidgets
вы должны импортировать следующим образом:
from PyQt5.QtWidgets import QtGui, QtCore
вместо
from PyQt5.QtCore import *
from PyQt5.QtGui import *
надеюсь, что это помогает. :)