如何在树莓派上添加缺少的 PyQt5 模块



我正在使用PyQt5版本5.7,python 3.5.3和raspbian。我的问题是在我的代码中,PyQt5 的某些模块被识别并且没有产生错误,而有些则会产生错误。

我得到的错误:导入错误:无法导入名称"QMultimedia">

那么,为什么QtCore/Widgets/Gui得到了协调,而QMultimedia却没有呢?我需要安装一些额外的软件包吗?我需要重新安装并做一些特别的事情吗?这可能是一个微不足道的问题,但请帮助我。

注意:我也试过:from PyQt5 import QtMultimedia

import numpy as np
import sys
from PyQt5 import QtCore
from PyQt5 import QtWidgets
from PyQt5 import QtGui
from PyQt5 import QMultimedia
from PyQt5 import QCameraInfo
from PyQt5 import QVideoWidget
from PyQt5 import QMediaObject
from PyQt5.QtCore import pyqtSignal
class Camera():
    def iniCamera():
        cam = QCamera()
        caminfo = QCameraInfo(cam)
        print (caminfo.description)
        if caminfo.isNull() != True:
           cam = QCamera(caminfo.deviceName())
           print (caminfo.description)
if __name__ == '__main__':
    iniCamera()

如果你安装了 Raspbian pyqt5-devpyqt5-dev-tools 软件包,这将只提供核心的 PyQt5 模块,如 QtCoreQtGuiQtWidgets 等。对于其他模块,如 QtMultimedia ,您必须安装单独的软件包。

如果你去Raspbian Connect软件包列表,并查看Python软件包部分,你会发现以下额外的软件包:

  • python3-pyqt5.qsci
  • python3-pyqt5.qtmultimedia
  • python3-pyqt5.qtopengl
  • python3-pyqt5.qtpositioning
  • python3-pyqt5.qtquick
  • python3-pyqt5.qtsensors
  • python3-pyqt5.qtserialport
  • python3-pyqt5.qtsql
  • python3-pyqt5.qtsvg
  • python3-pyqt5.qtwebchannel
  • python3-pyqt5.qtwebkit
  • python3-pyqt5.qtwebsockets
  • python3-pyqt5.qtx11extras
  • python3-pyqt5.qtxmlpatterns

因此,只需使用apt-get即可安装所需的任何其他内容。

检查您的站点包文件夹以查看此包是否确实存在。

如果你在虚拟环境后面工作(你应该这样做(,确保它被激活。使用 pip3 freeze 查看是否正确安装了 PyQt5。

然后,安装一个pylint扩展,这可以帮助您将来丢失软件包和其他东西。

最新更新