Sto riscontrando problemi nel tentativo di ottenere la combinazione di Qt 5.8.0 / PyQt 5.7.1 / sip 4.19 / Python3.5 per installare & funziona correttamente su macOS 10.12.2 (Sierra).
Passaggi per riprodurre il problema :
( Sono molto specifico per chiunque altro si avventuri qui cercando di realizzare la stessa cosa )
- Installa Python3.5 tramite homebrew (brew install python3.5).
- L'installazione di PyQt5 tramite homebrew tuttavia non ha funzionato in quanto il mio codice Python si è lamentato del fatto che non è stato possibile trovare il modulo pyqt. L'ho risolto applicando alcuni collegamenti simbolici. Tuttavia, il codice è rimasto buggato sollevando errori come QtGui.QApplication mancava ecc. Ho anche trovato più lamentele di utenti macOS che avevano incontrato problemi simili ma non sono riuscito a trovare alcuna soluzione reale. Quindi, ho rimosso tutti i miei collegamenti simbolici e ho eseguito
brew uninstall pyqt5
. - Poi ho trovato questo gist su GitHub, e ho iniziato a seguirlo così:
- scaricato qt-opensource-mac-x64-clang-5.8.0.dmg da qt-project.org
- Sorgenti SIP e PyQt5-gpl scaricati come menzionato nel succo.
-
Ho quindi decompresso il SIP & File tar PyQt5. Quindi ho eseguito il comando:
python3.5 ~/Downloads/sip-4.19/configure.py -d /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages --arch x86_64
-
Finora, tutto bene. Anche
make
,sudo make install
&sudo make clean
, come menzionato nel Gist, eseguito senza problemi. - Ora, sono arrivato al punto n. 13 dal gist, che mi ha detto di apportare una piccola modifica al comando
!host_build
elencato nel file~/Qt5.8.0/5.8/clang_64/mkspecs/qdevice.pri
. Tuttavia, il file non ha menzionato alcun commento di!host_build
, quindi ne ho aggiunto uno anch'io. -
Quindi, al punto 15 dal Gist ho eseguito:
python3.5 configure.py --destdir /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages --qmake ~/Qt5.8.0/5.8/clang_64/bin/qmake
-
Questo ha fornito un errore del percorso SDK, che ho risolto eseguendo
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
come da istruzioni su questo post in pila da persone che si sono imbattute in un problema simile. -
Ora, il codice menzionato sopra nel passaggio 10 è stato eseguito, ma ha generato un errore:
Error: This version of PyQt5 and the commercial version of Qt have incompatible licenses
-
Quindi, ho cercato e sono arrivato a un post sul forum QT. Mi ha aiutato a risolvere l'errore apportando alcune piccole modifiche al file configure.py di PyQt5 (commentando il controllo della licenza).
- Quindi, sono stato finalmente in grado di eseguire correttamente il comando che ho menzionato al punto 10 (passaggio 15 dall'elenco).
-
Tuttavia, quando ho provato a eseguire nuovamente
make
, tutto sembra essere perfetto fino a quando non genera questo errore che, finora, non sono stato in grado di risolvere:~/Downloads/PyQt5_gpl-5.7.1/QtCore/sipQtCoreQt.cpp:1093:62: error: no member named 'WindowCancelButtonHint' in namespace 'Qt'; did you mean 'WindowCloseButtonHint'? {sipName_WindowCancelButtonHint, static_cast<int>( ::Qt::WindowCancelButtonHint), 419}, ~~~~~~^~~~~~~~~~~~~~~~~~~~~~ WindowCloseButtonHint ../../../Qt5.8.0/5.8/clang_64/lib/QtCore.framework/Headers/qnamespace.h:300:9: note: 'WindowCloseButtonHint' declared here WindowCloseButtonHint = 0x08000000, ^ ~/Downloads/PyQt5_gpl-5.7.1/QtCore/sipQtCoreQt.cpp:1106:58: error: no member named 'WindowOkButtonHint' in namespace 'Qt' {sipName_WindowOkButtonHint, static_cast<int>( ::Qt::WindowOkButtonHint), 419}, ~~~~~~^ 2 errors generated. make[1]: *** [sipQtCoreQt.o] Error 1 make: *** [sub-QtCore-make_first-ordered] Error 2
C'è qualcuno in grado di darmi una mano?