【问题标题】:How to install PySide2 / PyQt5 on Raspberry Pi with QtWebEngine?如何使用 QtWebEngine 在 Raspberry Pi 上安装 PySide2 / PyQt5?
【发布时间】:2021-12-19 10:46:11
【问题描述】:

我知道可以使用以下命令在 Raspbian 上安装 PySide2:

sudo apt-get install python3-pyside2.qt3dcore python3-pyside2.qt3dinput python3-pyside2.qt3dlogic python3-pyside2.qt3drender python3-pyside2.qtcharts python3-pyside2.qtconcurrent python3-pyside2.qtcore python3-pyside2.qtgui python3-pyside2.qthelp python3-pyside2.qtlocation python3-pyside2.qtmultimedia python3-pyside2.qtmultimediawidgets python3-pyside2.qtnetwork python3-pyside2.qtopengl python3-pyside2.qtpositioning python3-pyside2.qtprintsupport python3-pyside2.qtqml python3-pyside2.qtquick python3-pyside2.qtquickwidgets python3-pyside2.qtscript python3-pyside2.qtscripttools python3-pyside2.qtsensors python3-pyside2.qtsql python3-pyside2.qtsvg python3-pyside2.qttest python3-pyside2.qttexttospeech python3-pyside2.qtuitools python3-pyside2.qtwebchannel python3-pyside2.qtwebsockets python3-pyside2.qtwidgets python3-pyside2.qtx11extras python3-pyside2.qtxml python3-pyside2.qtxmlpatterns python3-pyside2uic

但是,这不包括 QtWebEngine,我似乎也找不到像 python3-pyside2.qtwebengine 这样的包。 PyQt5 也是如此,我可以选择使用它,但它也不存在。

所以我的问题是:有什么方法可以在我的 Raspberry Pi(Raspbian 10 “Buster”)上运行使用 QtWebEngine 的 Python 应用程序?我还有 6 个 Pi 需要运行应用程序。那么如果唯一的解决方案是从源代码构建,有没有办法在一台机器上构建,然后将其分发给其他机器而无需重新编译?

另一个考虑因素是使用 QWebView 而不是 QWebEngineView,因为至少对于 PyQt5(包 python3-pyqt5.qtwebkit),这似乎可以通过 QtWebKit 获得。那行得通吗?尽管 QtWebKit 已被弃用,是否可以解决该问题?我还有一个问题,在我的 Windows 机器上,QtWebKit 不包含在 PyQt5 包中,单独的 PyQtWebKit PyPl 包也不工作,所以很难对工具进行编码/调试,因为我总是必须将它移动到raspi first...所以不管我怎么说,总有一些不方便的东西...

【问题讨论】:

    标签: python raspberry-pi pyqt5 raspbian pyside2


    【解决方案1】:

    所以我终于自己找到了解决方案。据我了解,在 Raspberry Pi OS 存储库中找不到 QtWebEngine 的原因是 Pi OS 可以在所有 Raspberry Pi 上运行,包括分别具有 ARMv6 和 ARMv7 CPU 架构的 Pi 1 和 Pi 2。然而,WebEngine 模块依赖于平台,不再针对 ARMv6/7 进行测试、编译和分发,因此他们不会在 Raspberry Pi OS 的存储库中发布它。不过幸运的是,我使用的 Raspberry Pi 3 具有 ARMv8,因此可以从 Debian 存储库安装 QtWebEngine,它为该架构提供了 QtWebEngine。方法如下:

    打开您的sources.list 文件

    sudo nano /etc/apt/source.list
    

    添加以下行并保存/关闭:

    deb http://deb.debian.org/debian/ buster main
    

    现在更新你的包列表

    sudo apt update
    

    您可能会遇到一些关于缺少公钥的错误,我们现在将通过密钥服务器进行验证:

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
    

    请注意,键 648ACFD622F3D138 是上一步的错误消息中显示的第一个键。它实际上告诉我缺少 3 个密钥,但处理第一个密钥就足以现在再次更新包列表,然后最终能够安装模块。

    sudo apt update
    sudo apt-get install python3-pyside2.qtwebengine
    

    【讨论】:

      猜你喜欢
      • 2021-12-14
      • 1970-01-01
      • 1970-01-01
      • 2015-01-26
      • 2021-07-28
      • 2016-08-10
      • 2022-11-24
      • 1970-01-01
      相关资源
      最近更新 更多