Ubuntu 16.04: PyQt5
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
” 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_()
Commenti recenti