How to configure PyQt4 for Python 3 in Ubuntu? How to configure PyQt4 for Python 3 in Ubuntu? python-3.x python-3.x

How to configure PyQt4 for Python 3 in Ubuntu?


You should be able to install the python 3 version of PyQt4 in ubuntu. Open a terminal and type:

sudo apt-get install python3-pyqt4

This way you don't have to compile Qt4 from source. I have also tested this and pyqt4 works with python3.

Source:A quick search in the ubuntu repositories.


Install packages needed for compiling (I am not sure these all are needed):

sudo apt install build-essential python3-dev libqt4-dev

Download sources of the latest SIP - sip-4.12.4.tar.gz (Linux, UNIX, MacOS/X source).

Unpack them and enter the directory:

vic@wic:~/Desktop/sip-4.12.4$ python3 configure.py This is SIP 4.12.4 for Python 3.2 on linux2.The SIP code generator will be installed in /usr/bin....Creating sip module Makefile...vic@wic:~/Desktop/sip-4.12.4$ makemake[1]: Entering directory `/home/vic/Desktop/sip-4.12.4/sipgen'...make[1]: Leaving directory `/home/vic/Desktop/sip-4.12.4/siplib'vic@wic:~/Desktop/sip-4.12.4$ sudo make installmake[1]: Entering directory `/home/vic/Desktop/sip-4.12.4/sipgen'...cp -f /home/vic/Desktop/sip-4.12.4/sipdistutils.py /usr/lib/python3/dist-packages/sipdistutils.pyvic@wic:~/Desktop/sip-4.12.4$

Download the sources of the latest PyQt - PyQt-x11-gpl-4.8.5.tar.gz (Linux, UNIX source), and install it:

vic@wic:~/Desktop/PyQt-x11-gpl-4.8.5$ python3 configure.py Determining the layout of your Qt installation...This is the GPL version of PyQt 4.8.5 (licensed under the GNU General Public License) for Python 3.2 on linux2.Type '2' to view the GPL v2 license.Type '3' to view the GPL v3 license.Type 'yes' to accept the terms of the license.Type 'no' to decline the terms of the license.Do you accept the terms of the license? yesFound the license file pyqt-gpl.sip.Checking to see if the QtGui module should be built......Checking to see if the dbus support module should be built...The Python dbus module doesn't seem to be installed.Qt v4.7.2 free edition is being used.SIP 4.12.4 is being used.The Qt header files are in /usr/include/qt4....Creating pyqtconfig.py...vic@wic:~/Desktop/PyQt-x11-gpl-4.8.5$ makemake[1]: Entering directory `/home/vic/Desktop/PyQt-x11-gpl-4.8.5/qpy'...make[1]: Leaving directory `/home/vic/Desktop/PyQt-x11-gpl-4.8.5/designer'vic@wic:~/Desktop/PyQt-x11-gpl-4.8.5$ sudo make installmake[1]: Entering directory `/home/vic/Desktop/PyQt-x11-gpl-4.8.5/qpy'...cp -f PyQt4.api /usr/share/qt4/qsci/api/python/PyQt4.api

Note, that I am launching python3 instead of python.


It looks like ubuntu only has pyqt4 packages for python2, so you will have to compile a separate pyqt4 for python3.

You can check what you already have installed by looking in the site-packages directory for each python. To locate these directories, run:

python2.7 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"python3.2 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"

If pyqt is installed properly, there should be a PyQt4 directory under site-packages containing a couple of dozen *.so files.

Presumably, there will be nothing there for python3.2, which is why you can't import pyqt.

To install pyqt for python3.2, follow these instructions. Please note that it is very important that you configure the build using the right python, e.g:

/usr/bin/python3.2 configure.py