在为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?请帮忙......
先谢谢。
答案 0 :(得分:2)
PyQt5(正如您所知)只是Qt C ++库的包装器。为了在PyQt5中使用特定模块,需要安装底层C ++库。
第一条错误消息显示缺少PyQt5.QtQml
模块,这分别导致缺少底层Python包装器的结论。
第二条错误消息可能是在C ++级别生成的,意味着缺少此模块所需的Qt C ++库。
由于您正在构建PyQt5,因此您不仅需要运行时库,还需要Qt的开发包。对于QML,您需要qtdeclerative5-dev
包和libqt5qml5
(我认为这是运行时库的名称)。这些当然取决于一系列将自动安装的其他软件包。
PS:不管你想使用哪个Qt模块,都不要忘记PyQt所依赖的SIP库。