[Risolto] Installazione di PyQt5

Vorrei installare il pacchetto PyQt5 ed ho trovato https://fedora.pkgs.org/28/fedora-x86_64/python3-qt5-base-5.10-3.fc28.x86_64.rpm.html
La guida elenca una serie di librerie come requisiti all’installazione di PyQt5, senza esporre il comando per le relative installazioni.
Perciò non posso fare altro che chiedere a chi ha esperienza su Python e pyqt.

Ciao punico,
quella che hai linkato non e’ una guida, ma un sito che raccoglie informazioni su pacchetti di varie ditro linux.

Penso che ti servira’ installare questo:

# dnf install python3-qt5-devel

non ho una fedora recente su cui testare purtroppo. Ci sono anche altri pacchetti nei repo, puoi cercarli con un ‘dnf search python3-qt5’.

A questo punto dovresti avere tutto cio’ che ti serve per iniziare a programmare qt con python.

Ho eseguito: “# dnf install python3-qt5-devel”
ma non è stato sufficiente. Allora ho esguito:

dnf search python3-qt5
Ultima verifica della scadenza dei metadati: 0:07:19 fa il mer 26 set 2018 22:37:01 CEST.
====================== Nome Exactly Matched: python3-qt5 =======================
python3-qt5.x86_64 : Python 3 bindings for Qt5
python3-qt5.i686 : Python 3 bindings for Qt5
===================== Nome & Sommario Matched: python3-qt5 =====================
python3-qt5-devel.x86_64 : Development files for python3-qt5
python3-qt5-devel.i686 : Development files for python3-qt5
========================== Nome Matched: python3-qt5 ===========================
python3-qt5-base.x86_64 : Python 3 bindings for Qt5 base
python3-qt5-base.i686 : Python 3 bindings for Qt5 base
python3-qt5-webkit.x86_64 : Python3 bindings for Qt5 Webkit
python3-qt5-webengine.x86_64 : Python3 bindings for Qt5 WebEngine

allora ho eseguito i tentativi seguenti:

# dnf install python3-qt5.x86_64
Ultima verifica della scadenza dei metadati: 0:13:04 fa il mer 26 set 2018 22:37:01 CEST.
Il pacchetto python3-qt5-5.10.1-4.fc28.x86_64 è già installato, viene ignorato.
Dipendenze risolte.
Nothing to do.
Fatto!
[[email protected] petrus]# dnf install python3-qt5-devel.x86_64
Ultima verifica della scadenza dei metadati: 0:14:31 fa il mer 26 set 2018 22:37:01 CEST.
Il pacchetto python3-qt5-devel-5.10.1-4.fc28.x86_64 è già installato, viene ignorato.
Dipendenze risolte.
Nothing to do.
Fatto!

Da quello che scaturito a me sembrerebbe che l’installazione sia completa, ma in “Applicazioni -> Sviluppo” manca la riga con l’icona d’avvio di PyQt5. Non riesco nemmeno ad avviarlo da terminale. Provo a riavviare il SO.

Le Qt sono una libreria, non un programma da eseguire direttamente. Ossia le richiami da dentro ai tuoi programmi (in questo caso hai installato il binding, la “versione”, per python) e le usi per farci delle GUI.

Hai provato a seguire una guida all’utilizzo? Queste sono le prime due che ho trovato con una ricerca: http://pyqt.sourceforge.net/Docs/PyQt5/installation.html https://pythonspot.com/pyqt5/
Se invece cercavi un qualcosa di grafico con cui lavorare (solitamente il codice che producono quegli affari e’ abbastanza “sporco” pero’) puoi usare qtcreator ad esempio.

Se hai bisogno di aiuto piu’ specifico abbiamo bisogno di capire cosa vuoi fare.

So benissimo che Qt è un insieme di librerie, ma io mi riferisco a PyQt5 che è un software che sfrutta le librerie Qt e che può essere avviato in maniera indipendente per disegnare l’interfaccia grafica di collegamento fra utente e codice python.
Quindi, come succede per Ubuntu, io, utente ignorante di python, di Qt e di PyQt, mi aspetto che anche per Fedora PyQt5, una volta installato, possa essere avviato da gnome, cliccando su un’icona della sezione sviluppo o, a piacimento, da linea di comando attraverso una parola chiave.
Non capisco perciò, per i miei eterni limiti, come mai, se le installazioni fatte in Fedora sono state eseguite correttamente, non riesco in nessun modo ad avviare pyqt5,

No, le pyqt5 sono anche loro delle librerie, solo che anziche’ essere delle librerie C++ per fare GUI, sono librerie python (che sono collegate a quelle C++, da cui il termine “binding”).
Lo puoi vedere facilmente dai file che installa l’rpm, ad es nel link che hai inserito te nel primo messaggio, scorri fino alla sezione “Files” e vedrai che quel’rpm installera’ dei file in /usr/lib/python3.6/site-packages/PyQt5/, che significa che una volta installate ti basta importare la libreria col nome ‘PyQt5’.

[code]$ cat /etc/fedora-release
Fedora release 25 (Twenty Five)

$ python3.5
Python 3.5.4 (default, Oct 9 2017, 12:07:29)
[GCC 6.4.1 20170727 (Red Hat 6.4.1-1)] on linux
Type “help”, “copyright”, “credits” or “license” for more information.

import PyQt5
PyQt5.file
‘/usr/lib64/python3.5/site-packages/PyQt5/init.py’[/code]
Questo e’ quello che succede sulla mia f25 con python 3.5.

No, se vuoi un IDE per disegnare GUI ti serve qt-creator o programmi simili, ma come ti diceva frafra nell’altra discussione che hai aperto https://forum.fedoraonline.it/viewtopic.php?pid=247676#p247676, qt-creator non e’ necessario per programmare le qt, e’ solo un “aiuto” al programmatore/grafico.

Quindi, se il tuo scopo e’ disegnare interfacce grafiche, ti basta installare qt-creator, e seguire qualche tutorial, ad es. questo della doc ufficiale: https://doc.qt.io/qtcreator/qt-creator-transitions-example.html

Se poi scrivere la connessione tra logica e grafica in C++ e’ troppo pesante, allora potresti usare PyQt5, ossia uno “strato” in python che ti permette di usare le Qt senza dover passare da C++.

Non capisco.
Ho installato PyQt5 anche su Ubuntu Mate e nel pannello delle applicazioni, alla sezione Programmazione, dopo l’installazione di PyQt5, vengono visulaizzate 3 icone relative a PyQt5: Progettazione Qt 5, Qt5 Assistant e Qt5 Linguist. Soffermandovi “Progettazione Qt 5”, posso dire che cliccandovi sopra si apre la finestra del Qt Designer ed un form dove posso aggiungere tutti i widget che voglio.
Per ottenere ciò, sempre in Ubuntu, ho installato python3-pyqt5, pyqt5-dev-tools, qttools5-dev-tools.
Ciò in autonomia, senza attingere all’esperienza di amatori profondi conoscitori delle tecniche di utilizzo del nuovo strumento.

Purtroppo questo in Fedora non è possibile.
Attenzione! Non faccio nessuna critica, sto soltanto raccontando la mia recentissima breve esperienza. Io amo Fedora perchè ho conosciuto Linux proprio installando per la prima vola, come prima distro, proprio Fedora. Amo questo Forum che infastidisco sempre con domande per le mie ricerche. Posso rammaricarmi per essere cresciuto poco e non essere riuscito ad essere completamente autosufficiente.

A me piace scrivere programmi per applicativi ed ho sempre mirato a gestire due SO. Linux diversi, ma capaci di ospitare gli stessi ambienti di programmazione, allo scopo di non restare mai sprovvisto dei miei programmi giornalieri e della mia personale fucina di programmazione.
Ho scritto in Gambas un più che impegnativo progetto di contabilità familiare, corredato di diversi programmi.
Da qualche tempo a questa parte penso di scrivere i prossimi programmi in un altro linguaggio, aperto a più piattaforme operative. Per questo ho pensato,in successione, al C++, al Python ed anche al Java. Il C++ sembra che sia il pù complesso dei tre, ma l’avevo cominciato a studiare ugualmente, fino a quando mi sono arenato sulle Qt. Allora ho pensato a Python, sostenuto dalla presenza di PyQt che, avevo capito, permette di combinare il codice Python con le librerie Qt, senza grossi sforzi. Invece, anche qui arrivano i supplizi Qt con tutto il suo seguito di designer, creator, …
Personalmente penso che con PyQt non dovrei nemmeno accorgermi dell’esistenza di tali componenti.
Non so, sono confuso e deluso!!!

Ah ecco, questo pero’ non l’avevi detto… Certo, se installi anche altri pacchetti oltre a python3-pyqt5 puo’ succedere di trovarsi installate anche altre cose.
Anche su ubuntu, se installi python3-pyqt5 avrai le stesse (a meno di cambi di versione) librerie disponibili in python, come ti ho mostrato prima. (link al contenuto del pacchetto python3-pyqt5 di ubuntu: https://ubuntu.pkgs.org/18.04/ubuntu-universe-amd64/python3-pyqt5_5.10.1+dfsg-1ubuntu2_amd64.deb.html)
Adesso ci dici di aver installato anche qttols5-dev-tools, che contiene questi file: https://ubuntu.pkgs.org/18.04/ubuntu-universe-amd64/qttools5-dev-tools_5.9.5-0ubuntu1_amd64.deb.html . Se fai una ricerca sulla parola ‘.desktop’ vedrai due file evidenziati nella lista: i file .desktop piazzati in /usr/share/applications/ sono i link su cui clicchi dai vari DE (gnome, xfce, etc.)

Se provi a cercare con ‘dnf search qttools’ vedrai che ci sono un po’ di pacchetti anche in fedora; in particolare c’e’ qt5-qttools-devel, e se provi ad installarlo vedrai che si trascinera’ dietro delle dipendenze:

[code]# dnf install --assumeno qt5-qttools-devel
Last metadata expiration check: 3:34:51 ago on Thu Sep 27 15:06:03 2018.
Dependencies resolved.

Package Arch Version Repository Size

Installing:
qt5-designer x86_64 5.7.1-4.fc25 updates 204 k
qt5-linguist x86_64 5.7.1-4.fc25 updates 888 k
qt5-qdoc x86_64 5.7.1-4.fc25 updates 495 k
qt5-qhelpgenerator x86_64 5.7.1-4.fc25 updates 24 k
qt5-qttools x86_64 5.7.1-4.fc25 updates 45 k
qt5-qttools-devel x86_64 5.7.1-4.fc25 updates 267 k
qt5-qttools-libs-designercomponents x86_64 5.7.1-4.fc25 updates 791 k
[/code]

Se guardi dentro al pacchetto qt5-designer troverai dei file .desktop che dovrebbero essere simili a quelli che vedi su ubuntu.
Probabilmente la struttura dei pacchetti e’ diversa, ma il contenuto dovrebbe essere uguale.

Questo e’ giusto, come ti dicevo anche prima sopra.

e come ti dicevo prima, e anche frafra nell’altra discussione che hai aperto, NON E’ NECESSARIO usare qt-creator/qt-designer. Sono strumenti che qualcuno trova utili, altri no.
Ma come ti ho fatto vedere nel terminale prima, se vuoi usare le PyQt5 ti basta installare python3-pyqt5, aprire l’interprete python (o scrivere uno script/programma ed eseguirlo) e potrai usare Qt dentro a Python, senza dover installare o usare qt-creator o compagnia.

Corretto. Sono degli strumenti opzionali, aggiuntivi.

[quote=bebo_sudo]
Se provi a cercare con ‘dnf search qttools’ vedrai che ci sono un po’ di pacchetti anche in fedora; in particolare c’e’ qt5-qttools-devel, e se provi ad installarlo vedrai che si trascinera’ dietro delle dipendenze[/quote]

dnf search qttools Ultima verifica della scadenza dei metadati: 2:20:31 fa il gio 27 set 2018 19:51:51 CEST. ======================= Sommario & Nome Matched: qttools ======================= qt5-qttools-doc.noarch : Documentation for qttools qt5-qttools-common.noarch : Common files for qt5-qttools qt5-qttools-devel.i686 : Development files for qt5-qttools qt5-qttools-devel.x86_64 : Development files for qt5-qttools qt5-qttools-static.i686 : Static library files for qt5-qttools qt5-qttools-static.x86_64 : Static library files for qt5-qttools mingw32-qt5-qttools.noarch : Qt5 for Windows - QtTools component mingw64-qt5-qttools.noarch : Qt5 for Windows - QtTools component qt5-qttools-examples.i686 : Programming examples for qt5-qttools qt5-qttools-examples.x86_64 : Programming examples for qt5-qttools mingw32-qt5-qttools-tools.x86_64 : Qt5 for Windows - QtTools component mingw64-qt5-qttools-tools.x86_64 : Qt5 for Windows - QtTools component ============================ Nome Matched: qttools ============================= qt5-qttools.x86_64 : Qt5 - QtTool components qt5-qttools-libs-help.x86_64 : Qt5 Help runtime library qt5-qttools-libs-help.i686 : Qt5 Help runtime library qt5-qttools-libs-designer.x86_64 : Qt5 Designer runtime library qt5-qttools-libs-designer.i686 : Qt5 Designer runtime library qt5-qttools-libs-designercomponents.i686 : Qt5 Designer Components runtime : library qt5-qttools-libs-designercomponents.x86_64 : Qt5 Designer Components runtime : library
e poi

# dnf install qt5-qttools-devel.x86_64
Ultima verifica della scadenza dei metadati: 2:35:32 fa il gio 27 set 2018 19:51:51 CEST.
Dipendenze risolte.
================================================================================
 pacchetto                             Arch     Versione        Repository
                                                                           Dim.
================================================================================
Installazione in corso:
 qt5-qttools-devel                     x86_64   5.11.1-2.fc28   updates   273 k
Installazione dipendenze:
 qt5-designer                          x86_64   5.11.1-2.fc28   updates   166 k
 qt5-doctools                          x86_64   5.11.1-2.fc28   updates   558 k
 qt5-linguist                          x86_64   5.11.1-2.fc28   updates   915 k
 qt5-qttools                           x86_64   5.11.1-2.fc28   updates    49 k
 qt5-qttools-libs-designercomponents   x86_64   5.11.1-2.fc28   updates   808 k

Riepilogo della transazione
================================================================================
Installati  6 pacchetti

Dimensione totale dello scaricamento: 2.7 M
Dimensione installata: 9.5 M
Procedere [s/N]: s
Scaricamento dei pacchetti:
(1/6): qt5-designer-5.11.1-2.fc28.x86_64.rpm    183 kB/s | 166 kB     00:00    
(2/6): qt5-qttools-devel-5.11.1-2.fc28.x86_64.r 238 kB/s | 273 kB     00:01    
(3/6): qt5-doctools-5.11.1-2.fc28.x86_64.rpm    446 kB/s | 558 kB     00:01    
(4/6): qt5-qttools-5.11.1-2.fc28.x86_64.rpm     192 kB/s |  49 kB     00:00    
(5/6): qt5-linguist-5.11.1-2.fc28.x86_64.rpm    1.2 MB/s | 915 kB     00:00    
(6/6): qt5-qttools-libs-designercomponents-5.11 1.6 MB/s | 808 kB     00:00

E finalmente in /usr/share/applications sono comparsi :

Ho provato ad avviare da Gnome e, finalmeeeeente, si è aperto Qt designer.
Però, che fatica. Ma senza il tuo contributo diretto, con costruttiva caparbietà, a farmi riuscire nell’impresa, non ce l’avrei mai fatta.

Si, è vero, ma costruire un ambiente grafico per mezzo di script python, secondo me, è pesante; è molto più agevole disporre di uno strumento da disegno che dia l’idea pratica di ciascun widget da inserire e della sua posizione nel form corrente in costruzione.

Grazie.

E’ vero, all’inizio e’ piu’ facile usare uno strumento drag-and-drop, pero’ tutti gli sviluppatori di GUI che ho conosciuto evitano di usare i cosidetti “gui builder”, e qui c’e’ una spiegazione: https://appunti-wxpython.readthedocs.io/en/latest/nonusare.html

Se sei ancora all’inizio delle tue sperimentazioni, forse potresti essere interessato anche a wxPython, un’altra libreria per costruzione GUI in python, che un paio di anni fa ho trovato personalmente piu’ semplice di Qt. E il link qui sopra viene da alcuni appunti di un ragazzo italiano molto in gamba, che ti consiglio di guardare se sei interessato a quella libreria (oltre al resto della doc in inglese): https://appunti-wxpython.readthedocs.io/en/latest/

Intanto, buon divertimento con le Qt!