在Raspberry pi

时间:2017-02-04 05:38:17

标签: qt qml pyqt5 raspberry-pi3 qqmlapplicationengine

在为rasberry pi构建PyQt5时,我遇到了一个错误。我成功运行了在Windows桌面上使用 QQmlApplicationEngine 的应用程序。现在我想在Raspberry pi 3中运行相同的应用程序。我从源代码构建PyQt5(5.4.1v)并尝试运行应用程序,但是我收到错误:

  

ImportError:找不到模块" PyQt5.QtQml"。

我意识到,当我从源代码构建PyQt5时,我得到:

  

项目错误: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?请帮忙......

先谢谢。

1 个答案:

答案 0 :(得分:2)

PyQt5(正如您所知)只是Qt C ++库的包装器。为了在PyQt5中使用特定模块,需要安装底层C ++库。

第一条错误消息显示缺少PyQt5.QtQml模块,这分别导致缺少底层Python包装器的结论。

第二条错误消息可能是在C ++级别生成的,意味着缺少此模块所需的Qt C ++库。

由于您正在构建PyQt5,因此您不仅需要运行时库,还需要Qt的开发包。对于QML,您需要qtdeclerative5-dev包和libqt5qml5(我认为这是运行时库的名称)。这些当然取决于一系列将自动安装的其他软件包。

PS:不管你想使用哪个Qt模块,都不要忘记PyQt所依赖的SIP库。