2017-02-04 7 views
0

Ich bin mit einem Fehler beim Aufbau PyQt5 für Rasberry Pi stecken. Ich konnte die Anwendung, die QQmlApplicationEngine auf Windows Desktop verwendet, erfolgreich ausführen. Nun wollte ich die gleiche Anwendung in Raspberry Pi 3. ich die PyQt5 (5.4.1v) bauen laufen von der Quelle und versuchte, die Anwendung ausgeführt wird, aber ich erhalte Fehler:QtQml Installation in Raspberry Pi

ImportError: No Module Found "PyQt5.QtQml".

Ich erkennen, dass, wenn ich das bauen PyQt5 von der Quelle, ich bekomme:

Project Error: Unknown module(s) in QT: qml

und zeigt mir eine Liste der Module, die gebaut werden.

Nur als Referenz verwende ich ein Raspbian und habe vor dem Erstellen von PyQt5 Folgendes installiert.

sudo apt-get update

sudo apt-get install qtcreator

sudo apt-get install qt5-qmake

hinzugefügt "export QT_SELECT = QT5" zu meinen "~/.profile" und "~/.bashrc"

sudo apt-get install qt5-default qt5-qmake qtbase5-dev-tools qttools5-dev-tools build-essential libboost-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev libssl-dev libdb++-dev libgl1-mesa-dev

Wie soll ich QtQml in PyQt5 installieren? Bitte helfen Sie ...

Vielen Dank im Voraus.

Antwort

2

PyQt5 ist (wie Sie vielleicht wissen) nur ein Wrapper für die Qt C++ - Bibliotheken. Um ein bestimmtes Modul in PyQt5 zu verwenden, muss die zugrundeliegende C++ - Bibliothek installiert werden.

Die erste Fehlermeldung zeigt, dass PyQt5.QtQml Modul fehlt, die jeweils zu der Schlussfolgerung führt, dass der zugrunde liegende Python-Wrapper fehlt.

Die zweite Fehlermeldung wird wahrscheinlich auf der C++ - Ebene generiert und bedeutet, dass die erforderliche Qt C++ - Bibliothek für dieses Modul fehlt.

Da Sie PyQt5 erstellen, benötigen Sie nicht nur die Laufzeitbibliotheken, sondern auch die Entwicklungspakete für Qt. Für QML benötigen Sie das qtdeclerative5-dev Paket und das libqt5qml5 (ich glaube, das war der Name für die Laufzeitbibliothek). Diese hängen natürlich von einer Reihe anderer Pakete ab, die automatisch installiert werden.

PS: Vergessen Sie nicht die SIP-Bibliothek, die PyQt als Abhängigkeit hat, egal welche Qt-Module Sie verwenden möchten.

+0

Yoo. Danke ... Ich vermisste qtdeclarative5-dev und libqt5qml5. Nach der Installation wurde Arbeit eingestellt, es funktionierte, als ich PyQt5.QtQml auf der Python-Konsole importierte. Nur eine weitere Frage, wo kann ich die Liste der Abhängigkeiten finden, die benötigt werden, um bestimmte Pakete von PyQt5 zu installieren, da ich nicht sicher bin, wann ich andere Pakete benötige und abwesend sein werde. Ich möchte deswegen niemanden mehr belästigen. – ryuk

+0

Sie können sich die [Liste aller Komponenten] (http://pyqt.sourceforge.net/Docs/PyQt5/py-modindex.html) ansehen, die von PyQt5 unterstützt werden und von dort müssen Sie sich die [offizielle Qt-Dokumentation] ansehen (http://doc.qt.io) oder Google, um nach Hinweisen zu suchen. Abhängigkeiten (paketweise) können abgerufen werden, indem Sie 'apt-cache depends ' verwenden oder den 'Dependencies'-Tap im Synaptic-Paketmanager betrachten, wenn ein bestimmtes Paket ausgewählt wird. Normalerweise müssen Sie das nicht tun, wenn Sie Dinge über die Repos installieren, aber da Sie es selbst bauen, denke ich, dass das der richtige Weg ist. :) Hoffe das hilft. – rbaleksandar

+0

Ich habe versucht, mit dem einfachen Weg zu gehen, aber ich habe die PyQt 5.7.1 oder eine größere Version nicht gefunden, wenn ich mit sudo apt-get install heruntergeladen habe. Also musste ich es von der Quelle kompilieren. Jetzt bekomme ich einen Fehler Modul '" QtQuick "Version 2.7' ist nicht installiert und ich bin in der Lage, 'Version 1 herunterladen.0' was meinen Zweck nicht erfüllt. Dasselbe gilt für 'QtQuckControls 2.0', das ich brauche, aber ich habe' Version 1.0'. – ryuk