【问题标题】:How to cross compile SIP / PyQt5 on a Raspberry pi如何在树莓派上交叉编译 SIP/PyQt5
【发布时间】:2014-04-26 22:28:32
【问题描述】:

我刚刚在树莓派上交叉编译了 Qt5.2.1。我在 Raspbian wheezy 上找不到任何关于 SIP / PyQt5 交叉编译的信息。

我尝试在 Raspberry 上编译 sip / PyQt5。

  • 树莓派上的 Sip / Qt5

    Sip 构建良好,但由于之前在我的 PC 上交叉编译的内核映像的 Qt5.2.1 目录中没有 Qmake。所以 PyQt5 安装失败。

注意:由于 Raspbian python3-sip 模块不是 PyQt5 的正确版本(最低 sip 4.15.5),您需要在 Raspbian 上编译最后一个源版本

所以现在的问题是:如何在我的 PC 上交叉编译 PyQt5?没有找到相关文档。

  • PC 上的 PyQt5

在我的 PC 上安装 Qt5.2.1 之后,PyQt5 安装运行完美。但是当 TI 尝试导入 PyQt5 模块时,我遇到了以下错误

$ from PyQt5 import QtCore
ImportError: libQt5Core.so.5: cannot open shared object file: No such file or directory

在我的电脑上,这个库位于 /opt/Qt5.2.1/5.2.1/gcc_64/lib/libQt5Core.so.5 我将 /opt/Qt5.2.1/5.2.1/gcc_64/lib/ 添加到 $LD_LIBRARY_PATH ,现在消息是:

$ from PyQt5 import QtCore
RuntimeError: the sip module implements API v11.0 but the PyQt5.QtCore module requires API v10.1

经过快速搜索,SIP 4.15.5 符合 API 级别 11,SIP-4.15.4 符合 API 级别 10。所以尝试安装 SIP 4.15.4。

成功了,我可以导入 PyQt5.QtCoe QtGui, QtNetwork ....

但我仍然坚持使用缺少的 PyQt5 交叉编译过程。

有什么想法吗?

【问题讨论】:

    标签: python-3.x pyqt5 python-sip qt5.2


    【解决方案1】:

    幸运的是,所有必需的依赖项现在都可以从预编译的 Debian 存储库中获得。

    假设您已安装最新版本的 Raspbian(内核 4.14)在终端窗口中运行以下命令:

    sudo apt-get update && sudo apt-get upgrade
    
    sudo apt-get install qt5-default
    
    sudo apt-get install python3-pyqt5*
    
    sudo apt-get install at-spi2-core
    

    上次安装修复了我在 Pi 3 上遇到的错误。在您的情况下可能没有必要(但肯定不会造成伤害。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-19
      • 2013-12-12
      • 2021-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多