PyQt5 and QtGui module not found

96,965

Solution 1

The problem was when I was running the PyQt5 configure script. The correct option to pass went like this:

> python3 configure.py --qmake [path to Qt5.x]/bin/qmake

I was providing the path up to bin, but did not specifically point to qmake. Go figure!

After running the configure script like this, I was able to import all the PyQt5 modules.

Solution 2

When first trying pyqt4 and pyqt5 and the pycharm IDE I had many problems with imports. (although the imports had no prob running from IDLE) Eventually after much stuffing around, uninstalling and reinstalling, (including dependencies) the imports sorted themselves out.

Did you install pyqt5 using an installer from the pyqt website? You must. Qt designer is found under the start menu in windows. When following PyQt4 tutorials, I have had luck using the following import statements for PyQt5...

from PyQt4 import QtCore, QtGui #in the pyqt4 tutorials
from PyQt5 import QtCore, QtGui, QtWidgets #works for pyqt5

I'm new to it myself but in pyqt4, QtWidget was part of QtGui (QtGui.QtWidget), in pyqt5 it gets imported by itself as QtWidgets. Its only a small change in code to get the pyqt4 tutorials working in pyqt5.

I personally went back to pYqt4 to take advantage of pyqtgraph.

Look at my pyqt4 post here which walks you through using Qt Designer.

Solution 3

Configure pyqt with this command:

python[3] configure.py --qmake=[path to Qt5.x]/bin/qmake --verbose

Whether a qt module builds or not depends on the configure.py's check. Take a look at the terminal output and you will find the reason why QtGui..QtWidgets was not installed correctly.

Share:
96,965
ADB
Author by

ADB

Updated on August 09, 2022

Comments

  • ADB
    ADB almost 2 years

    Is there some reason that QtGui is packaged with PyQt5???

    I am using Mark Summerfield's Rapid GUI programming book. Obviously this book was written with Qt4 in mind, but I have been recommended to use Qt5, and PyQt5. I want to run the first example code in chapter 4. The code begins with the following import statements:

    import sys
    import time
    from PyQt5.QtCore import *
    from PyQt5.QtGui import *
    

    To which the compiler responds:

    Traceback (most recent call last):
      File "wakeUp.py", line 4, in <module>
        from PyQt5.QtGui import *
    ImportError: No module named 'PyQt5.QtGui'
    

    Note that the PyQt5.QtCore import statement does not generate an error.

    From the terminal,

    $ echo $PYTHONPATH
    :/usr/lib/python3.3/site-packages
    

    Has anybody else come across this import error for QtGui?

    From an interactive session I can

    >>> import PyQt5.Qt
    >>> import PyQt5.QtDBus
    >>> import PyQt5.QtNetwork
    >>> import PyQt5.QtXmlPatterns
    

    But I don't have QtWidgets, QtGui, QtWebkit, QtDesigner, and several others.

    Also, if it is helpful, the contents of /usr/lib/python3.3/site-packages/PyQt5 are:

    __init__.py  QtCore.so  QtDBus.so  QtNetwork.so  Qt.so  QtXmlPatterns.so  uic
    

    which are the same modules that I am able to import. Should the other modules (QtWidgets, QtGui etc) be here too?

    I am using Ubuntu 13.04 and Python 3.3.