PyQt5 - SIP-API-10-Ebenenfehler. API 11 erforderlich

8

Feedback

Ich arbeite an einer PyQt5-Installation (basierend auf Qt5.2.1 / Sip 4.15.5 API 11) mit dem Standard-Python3 (3.3.2+) - Interpreter, der PyQt5-konform ist (& gt; = 3.3.2 ) as Es ist nicht möglich, Python3.3-5 unter Ubuntu 12.04 zu kompilieren, und dann ist es unmöglich, PyQt5 (python 3.3.2 oder höher) zu installieren.

Plateform :

%Vor%

Während der Installation schien alles in Ordnung zu sein, der PyQt5-Import funktioniert, aber wenn ich einen Modulimport durch den Python3-Interpreter versuche, wird dieser Fehler ausgelöst:

%Vor%

Installationsschritte:

  • Qt5.2.1 wurde mit dem Standard-X64-Linux-Installer
  • installiert
  • SIP 4.15.5 Installation von Quellen
  • PyQt5 aus Quellen, die wie in der RiverBank-Prozedur beschrieben kompiliert wurden und auf das Programm qmake in den Optionen von compile.py abzielen:

    python3 configure.py --qmake /opt/Qt/5.2.1/gcc_64/bin/qmake --sip / usr / bin / sip

Paketstandorte:

  • Qt-5.2.1-Stammverzeichnis: /opt/Qt/5.2.1/gcc_64
  • PyQt5-Stammverzeichnis: /usr/lib/python3.3/site-packages

Sip-Version

%Vor%

Meine Python-Umgebungsvariable ist:

%Vor%

Das $ PATH-Varable:

%Vor%

$ LD_LIBRARY_PATH ist leer (glaube nicht, dass es wichtig ist, aber ich erwähne es lieber ...)

Der Inhalt des Site-pacakges-Verzeichnisses lautet:

%Vor%

Aber in einer früheren Installation war es anders. Ich weiß nicht warum! :

%Vor%

Ich kann nicht herausfinden, wo das Problem liegt. Je mehr ich an diesem Produkt arbeite, desto weniger verstehe ich. Ich mache diese Installation unter Ubuntu 13.10, da PyQt5 aufgrund von Python 3.3-5 Kompilierungsfehlern unter Ubuntu 12.04 nicht funktioniert. Noch immer keine Antwort. ...

bitte helfen.

Vielen Dank im Voraus.

    
Emmanuel Brunet 23.03.2014, 10:16
quelle

2 Antworten

11

Ihr Problem kommt von einem Zusammenstoß des von der Distribution bereitgestellten SIP und des SIP, den Sie wahrscheinlich aus Quellen kompiliert haben.

Wie vom Benutzer mata empfohlen, rufen Sie import sip; print(sip, sip.SIP_VERSION_STR) in einer Python3-Interpreter-Konsole auf und vergleichen Sie die Ausgabe mit der, die Sie vom Aufruf von sip -V von einer normalen (bash) Konsole erhalten. Die Versionen unterscheiden sich wahrscheinlich.

Ich habe diesen Fehler überwunden, indem ich alle installierten sip-bezogenen Pakete in meinem System identifiziert habe. (Für Debian-ähnliche Systeme: dpkg -l | grep sip ), entfernte sie und alle ihre Konfigurationsdateien (wieder für Debian: apt-get purge python3-sip python3-sip-dev ...) und installierte die benutzerdefinierte Version erneut (indem Sie make install erneut ausführen).

Ich habe das übrigens auch für alle PyQt5-Pakete getan. Entsprechend Ihrer unvollständigen Site-Packages-Liste haben Sie möglicherweise auch ein älteres PyQt5-Distropaket installiert. Das aktuelle hat viele weitere Module. (QtSql zum Beispiel)

(Alle erwähnten Befehle sollten wahrscheinlich als root ausgeführt werden.)

    
Chaos_99 06.04.2014, 16:36
quelle
0

Ich poste hier, weil ich noch nichts sagen kann. Für wen auch immer dieses Problem in Windows ist, für mich wird die sip-Version von angezeigt Sip importieren drucken (sip, sip.SIP_VERSION_STR) war niedriger als die in den SIP-Dateinamen angezeigte Version. Ich reparierte es, indem ich sip (pip uninstall sip) deinstallierte und neuinstallierte.

    
R01k 26.10.2016 17:21
quelle

Tags und Links