首页 > 解决方案 > 在树莓派上运行 Qt 应用程序

问题描述

我能够在树莓派上安装 PyQt5。但无法运行 python 脚本。我确实收到以下错误 ModuleNotFoundError: No module named 'PyQt5.QtQml'

当我执行命令 pip list 时,我得到以下信息包版本


pip 21.3 pkg_resources 0.0.0 PyQt5 5.15.5 PyQt5-sip 12.9.0 setuptools 40.8.0

下面是一个简单的python脚本

import sys
from PyQt5.QtGui import QGuiApplication
from PyQt5.QtQml import QQmlApplicationEngine
app = QGuiApplication(sys.argv)
engine = QQmlApplicationEngine()
engine.quit.connect(app.quit)
engine.load('main.qml')
sys.exit(app.exec())

以下是main.qml文件

import QtQuick 2.15
import QtQuick.Controls 2.15
ApplicationWindow {
    visible: true
    width: 600
    height: 500
    title: "HelloApp"
    Text {
        anchors.centerIn: parent
        text: "Hello World"
        font.pixelSize: 24
    }
}

我正在使用 python 3.7.3 版我创建了虚拟环境并将其激活如下:

python3 -m venv testEnv
source testEnv/bin/activate

我使用命令 pip3 install pyqt5 在环境中安装了 pyqt5

我尝试通过给出命令进行安装

pip3 install pyqt5-tools

这花了很多时间,看起来它正在下载所有可用的版本。然后我尝试了以下命令

pip3 install pyqt5-tools~=5.15.4.3.2

执行以下命令时,出现以下错误。

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting pyqt5-tools~=5.15.4.3.2
  Using cached pyqt5_tools-5.15.4.3.2-py3-none-any.whl (29 kB)
Collecting pyqt5==5.15.4
  Using cached PyQt5-5.15.4.tar.gz (3.3 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing wheel metadata (pyproject.toml) ... done
ERROR: Could not find a version that satisfies the requirement pyqt5-plugins<5.15.4.3,>=5.15.4.2.2 (from pyqt5-tools) (from versions: none)
ERROR: No matching distribution found for pyqt5-plugins<5.15.4.3,>=5.15.4.2.2

我们如何检查需要安装哪个版本的 pyQt5-tools?

标签: python-3.xpyqt5raspberry-pi4

解决方案


这里的问题是您正在使用 pyqt5 库,同时您正在使用 qml 文件,该文件是不同的语言并且具有不同的库和依赖项,有 2 种情况案例 1:如果您运行 raspbian buster:您需要下载源代码Qt 来自他们的站点,它的配置和编译并从源代码构建它并最终安装它(建议使用 Qt 5.12.10,因为您将 python 与 qml 一起使用)(在 google 中搜索如何在 rapberry pi 上安装 qt 5.12.10,因为它是过程很长而且有点困难),然后你就可以运行你的代码了。案例 2:如果您运行新的 raspbian Bullseye 2022,那么它非常简单,您只需使用此处显示的命令安装它:Bullseye OS

$ sudo apt-get install qtbase5-dev qtchooser.    
$ sudo apt-get install qt5-qmake qtbase5-dev-tools.
$ sudo apt-get install qtcreator.
$ sudo apt-get install qtdeclarative5-dev.

它将安装新的 qt 版本 5.15.2,您可以使用 python 和 qml。


推荐阅读