1

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

ImportError:找不到模块“PyQt5.QtQml”。

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

项目错误:QT 中的未知模块:qml

并向我显示将要构建的模块列表。

仅供参考,我使用的是 raspbian,并在构建 PyQt5 之前安装了以下内容。

sudo apt-get 更新

sudo apt-get install qtcreator

sudo apt-get install qt5-qmake

在我的“~/.profile”和“~/.bashrc”中添加了“export QT_SELECT = qt5”

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?请帮忙...

提前致谢。

4

1 回答 1

3

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

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

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

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

PS:无论您要使用哪个 Qt 模块,都不要忘记 PyQt 作为依赖项的 SIP 库。

于 2017-02-04T08:20:20.787 回答