2017-02-04 225 views
0

我建立PyQt5 rasberry pi時遇到一個錯誤。我成功地運行了在Windows桌面上使用QQmlApplicationEngine的應用程序。現在,我想運行樹莓派3.從源頭上相同的應用程序,我建PyQt5(5.4.1v),並試圖運行的應用程序,但我得到的錯誤:樹莓派QtQml安裝

ImportError: No Module Found "PyQt5.QtQml".

我意識到,當我建PyQt5的來源,我得到:

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

並顯示我將建立的模塊列表。

僅供參考,我使用raspbian,並在構建PyQt5之前安裝了以下內容。

sudo apt-get update

sudo apt-get install qtcreator

sudo apt-get install qt5-qmake

加入 「出口QT_SELECT = QT5」 我的 「〜/ .profile文件」 和 「〜/ .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

我怎麼在PyQt5安裝QtQml?請幫忙...

在此先感謝。

回答

2

PyQt5(你可能知道)只是一個Qt C++庫的包裝器。爲了在PyQt5中使用特定的模塊,需要安裝底層的C++庫。

第一條錯誤消息顯示PyQt5.QtQml模塊丟失,這分別導致底層Python包裝丟失的結論。

第二條錯誤消息可能是在C++級別生成的,並且表示缺少此模塊所需的Qt C++庫。

由於您正在構建PyQt5,您不僅需要運行時庫,還需要Qt的開發包。對於QML,您需要qtdeclerative5-dev包和libqt5qml5(我認爲這是運行時庫的名稱)。這些當然取決於其他一些將自動安裝的軟件包。 PS:不要忘記PyQt作爲依賴項的SIP庫,不管你想使用哪個Qt模塊。

+0

柳。謝謝......我錯過了qtdeclarative5-dev和libqt5qml5。安裝完成後,它已經設置好了,它在python控制檯上導入PyQt5.QtQml時起作用。 只是另一個問題,我在哪裏可以找到安裝某些PyQt5軟件包所需的依賴關係列表,因爲我不知道什麼時候需要另一個軟件包並且將不在。不想因爲這個而再次發現任何人。 – ryuk

+0

您可以查看PyQt5支持的[所有組件列表](http://pyqt.sourceforge.net/Docs/PyQt5/py-modindex.html),然後您必須查看[官方Qt文檔] (http://doc.qt.io)或谷歌尋找線索。可以使用'apt-cache depends '檢索依賴關係(package-wise),或者在選擇給定的包時查看Synaptic包管理器中的Dependecies tap。通常情況下,如果您通過回購協議安裝某些東西,則無需這樣做,但是由於您正在自行構建,因此我猜這就是要走的路。 :) 希望這可以幫助。 – rbaleksandar

+0

我試圖用簡單的方式去,但是當我用sudo apt-get install下載時,我沒有找到PyQt 5.7.1或更高版本。所以,我不得不從源碼編譯它。現在我得到一個錯誤 模塊「QtQuick」版本2.7'沒有安裝,我可以下載'版本1。0'不滿足我的目的。我也需要'QtQuckControls 2.0',但是'版本1.0' – ryuk