Home > PyQt5, python > Ubuntu 16.04: PyQt5

Ubuntu 16.04: PyQt5

27 Marzo 2019

Compilazione PyQt5 su Ubuntu 16.04 32 bit.

L’obbiettivo è l’installazione di PyQt5 su Ubuntu 16.04 32 bit

Qt è un set di librerie C++ per la costruzione di interfacce grafiche e non solo.
PyQt è un set di bindings di python a tali librerie.
Tali bindings (collegamenti) altro non sono che moduli python con più di mille classi disponibili.

Dal sito ufficiale di PyQt5 però notiamo con sgomento come non siano previste
le PyQt5 per dispositivi a 32 bit.

“Binary Packages
Wheels are provided for Python v3.5 and later for 64-bit Linux, macOS and 32-bit and 64-bit Windows.
These include copies of the corresponding Qt libraries.
Note that the minimum version of macOS supported is determined by the version of Qt included in the wheel.
So long as you are using a supported version of Python you can install PyQt5 from PyPi by running:
pip3 install PyQt5″

Non è quindi possibile installarle con pip e nemmeno sono reperibili dei deb package.

Per poter usufruire di tali librerie, senza ricorrere alle obsolete PyQt4, bisognerà compilare le versioni precedenti alla 5.12 attuali.

L’ordine logico sarà quindi quello di installare Qt, Sip, PyQt5

Cos’è Sip?

” One of the features of Python that makes it so powerful is the ability to take existing libraries, written in C or C++,
and make them available as Python extension modules.
SIP is a tool that makes it very easy to create Python bindings for C and C++ libraries.

In sostanza è proprio colui che permette di utilizzare le librerie Qt, come moduli di Python!

Installazione pacchetti per compilazione

Cominciamo con i pacchetti utili alle varie compilazioni:

sudo apt-get install build-essential
sudo apt-get install checkinstall
sudo apt-get install qt5-default qtdeclarative5-dev python-dev

Installazione Qt

Installiamo le Qt con l’installer online:
Scaricato il file, lo rendiamo eseguibile,

sudo chmod +x qt-unified-linux-x86-online.run

e lo eseguiamo:

./qt-unified-linux-x86-online.run

Proseguire e saltare la registrazione in modo da terminare l’installazione del toolkit Qt

Installazione SIP

Ora dobbiamo installare Sip, nel mio caso ho installato la 4.16.5, perchè la 4.19.15 mi dava dei problemi.
Si scarica l’archivio da qui:

ci portiamo nell dir dove lo abbiamo scaricato e lo scompattiamo

tar -xvzf sip-4.16.5.tar.gz
cd sip-4.16.5
python3 configure.py
make
sudo checkinstall

utilizzo checkinstall per agevolare eventuali rimozioni del pacchetto, ma andrebbe benissimo

sudo make install

Se tutto va bene Sip sarà alla versione desiderata

banco@banco-laptop:~/Scaricati$ sip -V
4.16.5

Installazione PyQt5

Installato Sip, passiamo a PyQt5. Nel mio caso sono riuscito con la 5.4 (la 5.6 richiede già sip 4.19.15 che mi dà problemi!)

Scarico PyQt-5.4 da qui.

tar -xvzf PyQt-gpl-5.4.tar.gz
cd PyQt-gpl-5.4

importante ora è dire al configure dove si trova sip:

python3 configure.py --sip-incdir ../sip-4.16.5/siplib
make
sudo checkinstall

Se tutto è filato lischio, ora abbiamo delle Qt per Python su architettura 32 bit:

banco@banco-laptop:~/Scaricati$ python3
>>> from PyQt5.QtWidgets import QMainWindow
>>> from PyQt5.QtWidgets import QWidget, QApplication
>>> class FormWidget(QWidget):
...     def __init__(self, parent):
...         super(FormWidget, self).__init__(parent)
... 
>>> class MainWindow(QMainWindow):
...     def __init__(self, parent=None):
...         super(MainWindow, self).__init__(parent)
...         self.central_widget = FormWidget(self) 
...         self.setCentralWidget(self.central_widget) 
... 
>>> app = QApplication([])
>>> mw = MainWindow()
>>> mw.show()
>>> app.exec_()

Non abbiamo errori e la finestra appare regolarmente.

Categorie:PyQt5, python Tag: ,
I commenti sono chiusi.