2017-02-04 293 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