In Sierra: Come ottenere Qt 5.8.0 / PyQt 5.7.1 / sip 4.19 / Python3.5 per installare e funzionare correttamente?

3

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 )

  1. Installa Python3.5 tramite homebrew (brew install python3.5).
  2. 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 .
  3. Poi ho trovato questo gist su GitHub, e ho iniziato a seguirlo così:
  4. scaricato qt-opensource-mac-x64-clang-5.8.0.dmg da qt-project.org
  5. Sorgenti SIP e PyQt5-gpl scaricati come menzionato nel succo.
  6. 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
    
  7. Finora, tutto bene. Anche make , sudo make install & sudo make clean , come menzionato nel Gist, eseguito senza problemi.

  8. 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.
  9. 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
    
  10. 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.

  11. 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

  12. 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).

  13. Quindi, sono stato finalmente in grado di eseguire correttamente il comando che ho menzionato al punto 10 (passaggio 15 dall'elenco).
  14. 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?

    
posta Montmons 25.01.2017 - 14:22
fonte

1 risposta

4

Io sono colui che ha fatto l'aggiornamento Qt5 5.8.0 per Homebrew. Questo è un problema noto che persisterà fino a quando Riverbank aggiornerà il proprio software. Ti suggerisco di contattarli sulla loro mailing list.

AGGIORNAMENTO: Come soluzione temporanea, ho aggiunto una formula [email protected] e aggiornato la formula PyQt5 per dipendere da essa. Vedi le seguenti richieste di pull, che ho unito:

link

link

    
risposta data 26.01.2017 - 07:01
fonte

Leggi altre domande sui tag