web-dev-qa-db-fra.com

Comment installer PyQt5 dans Python 3 (Ubuntu 14.04)

J'ai besoin de porter du code Python2 + PyQt4 vers Python3 + PyQt5.

J'ai commencé à installer pip3

Sudo apt-get install python3-pip

Fonctionne très bien. A tenté

Sudo pip3 install PyQt5
Downloading/unpacking PyQt5
  Could not find any downloads that satisfy the requirement PyQt5
Cleaning up...
No distributions at all found for PyQt5

En ligne, je trouve les étapes suivantes:

http://pyqt.sourceforge.net/Docs/PyQt5/installation.html

Mais ils sont trop nombreux. Quel est le moyen le plus simple d'installer PyQt5 avec Python3 dans Ubuntu 14.04?

21
eri0o

Pourquoi ne pas simplement l'installer via apt-get?

Sudo apt-get install python3-pyqt5

Sinon, vous devrez compiler PyQt (et potentiellement Qt) à la main, ce qui est fastidieux.

45
The Compiler

Eh bien, j'ai documenté les étapes pour installer pyqt5 avec qt designer et générer du code ici: https://Gist.github.com/ujjwal96/1dcd57542bdaf3c9d1b0dd526ccd44ff

Installation

pip3 install --user pyqt5  
Sudo apt-get install python3-pyqt5  
Sudo apt-get install pyqt5-dev-tools
Sudo apt-get install qttools5-dev-tools

Configuration pour exécuter à partir du terminal

$ qtchooser -run-tool=designer -qt=5

[~ # ~] ou [~ # ~]

Écrivez ce qui suit dans /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf

/usr/lib/x86_64-linux-gnu/qt5/bin
/usr/lib/x86_64-linux-gnu

Génération de code

Créez le fichier uic.py.

#!/usr/bin/python3

import subprocess
import sys

child = subprocess.Popen(['pyuic5' ,'-x',sys.argv[1]],stdout=subprocess.PIPE)

print(str(child.communicate()[0],encoding='utf-8'))

$ chmod +x uic.py

Créez un lien symbolique:

$ Sudo ln uic.py "/usr/lib/x86_64-linux-gnu/qt5/bin/uic"

Entrée de bureau

[Desktop Entry]
Name=Qt5 Designer
Icon=designer
Exec=/usr/lib/x86_64-linux-gnu/qt5/bin/designer
Type=Application
Categories=Application
Terminal=false
StartupNotify=true
Actions=NewWindow

Name[en_US]=Qt5 Designer

[Desktop Action NewWindow]
Name=Open a New Window
Exec=/usr/lib/x86_64-linux-gnu/qt5/bin/designer

enregistrer dans ~/.local/share/application avec l'extension .desktop

18
Ujjwal