Comment configurer PyQt4 pour Python 3 dans Ubuntu?

Cette question a été posée à l’origine sur askubuntu.com mais n’a pas retenu l’attention, donc je pense que c’est un meilleur endroit à poser.

J’ai installé PyQt4 avec synaptic.

J’utilise Python3 donc j’ai besoin de configurer le chemin pour PyQt4 dans eclipse, mais il semble que synaptic n’a installé que PyQt4 pour python 2 puisque je n’ai trouvé que des fichiers et dossiers relatifs sous python 2.6 et 2.7.

Alors, comment puis-je faire fonctionner PyQt4 avec Python 3 et Eclipse?

Merci.

MISE À JOUR :

J’ai essayé de le configurer en suivant ce post: http://ubuntuforums.org/showthread.php?p=10914908#post10914908

Mais après avoir suivi toutes les instructions sans qu’aucune erreur ne se produise, j’obtiens une erreur lors de l’exécution de ce code dans python 3.2:

>>> import PyQt4 

Le message d’erreur est le suivant:

 Traceback (most recent call last): File "", line 1, in  ImportError: No module named PyQt4 

Mais ce qui est étrange, c’est que le même code n’entraîne aucune erreur dans python 2.7 (j’ai installé à la fois 2.7 et 3.2 sur ma machine)

Installez les paquets nécessaires à la compilation (je ne suis pas sûr que tout soit nécessaire):

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

Téléchargez les sources du dernier SIP – sip-4.12.4.tar.gz ( source Linux, UNIX, MacOS / X).

Déballez-les et entrez dans le répertoire:

 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$ make make[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 install make[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.py vic@wic:~/Desktop/sip-4.12.4$ 

Téléchargez les sources du dernier PyQt – PyQt-x11-gpl-4.8.5.tar.gz (source Linux, UNIX) et installez-le:

 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? yes Found 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$ make make[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 install make[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 

Notez que je lance python3 au lieu de python .

Vous devriez pouvoir installer la version python 3 de PyQt4 dans Ubuntu. Ouvrez un terminal et tapez:

 sudo apt-get install python3-pyqt4 

De cette façon, vous n’avez pas besoin de comstackr Qt4 depuis la source. J’ai aussi testé ceci et pyqt4 fonctionne avec python3.

Source: Une recherche rapide dans les référentiels Ubuntu.

Il semble que Ubuntu ne dispose que de paquets pyqt4 pour python2, vous devrez donc comstackr un pyqt4 distinct pour python3.

Vous pouvez vérifier ce que vous avez déjà installé en consultant le répertoire site-packages pour chaque python. Pour localiser ces répertoires, exécutez:

 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())" 

Si pyqt est installé correctement, il devrait y avoir un répertoire PyQt4 sous site-packages contenant quelques dizaines de fichiers *.so .

Vraisemblablement, il n’y aura rien pour python3.2, ce qui explique pourquoi vous ne pouvez pas importer de pyqt.

Pour installer pyqt pour python3.2, suivez ces instructions . S’il vous plaît noter qu’il est très important que vous configurez la construction en utilisant le bon python, par exemple:

 /usr/bin/python3.2 configure.py