【问题标题】:How do I deploy a Python PyQt5 Application to an embedded Linux?如何将 Python PyQt5 应用程序部署到嵌入式 Linux?
【发布时间】:2015-11-28 12:36:48
【问题描述】:

我编写了一个 Python3 应用程序,它使用 PyQt5 作为 GUI,它在每个桌面系统上运行良好。 现在我想在硬件制造商提供的嵌入式 linux(特别是:Yocto BSP)上运行它。由于没有 PyQt5,而是在 BSP 上运行 qt5 和 python3 包,我想(以某种方式)制作应用程序的独立可执行文件。另外,我没有编写 bitbake 配方和创建自定义 BSP 的经验,也没有找到任何现有的 PyQt5 配方。

到目前为止我已经尝试过(但没有成功):

  • 使用 nuitka、cx-freeze、pyinstaller(在类似的 arm 平台上编译)制作独立的可执行文件
  • 使用 pyqtdeploy 将 python 转换为 c++ 源代码,然后使用提供的构建环境对其进行编译。我对 pyqt5 和 sip 包进行了静态编译,一切都编译得很好,但是 make 报告了我无法解决的未定义引用(链接器错误)(因为我对 c++ 不太熟悉)。

现在,让 python/pyqt5 应用程序在包非常有限的嵌入式 linux 系统上运行的最佳方法是什么?

【问题讨论】:

  • 不幸的是,这不是您想要的答案...就个人而言,我会考虑将 PyQt5 添加到我自己的图层中。 (稍后将其提交给合适的开放层)。 meta-oe 中有一个 python-pyqt 配方,//可能// 会有所帮助;尽管在 OpenEmbedded / Yocto 中 Qt4 和 Qt5 之间存在差异。
  • 对于新手来说,自从Yocto项目的Release分支Thud之后,你会在名字下找到你需要的:python3-pyqt5

标签: python linux embedded pyqt5 yocto


【解决方案1】:

你可以看到链接 python-pyqt5

【解决方案2】:

首先你应该得到 qt5 的元数据: https://github.com/meta-qt5/meta-qt5 然后修改local.con和you-image.bb,使qt5可以编译成镜像。

【讨论】:

    猜你喜欢
    • 2016-02-08
    • 2012-06-05
    • 2016-03-20
    • 1970-01-01
    • 2019-08-11
    • 2014-08-06
    • 2021-06-12
    • 2012-11-26
    • 1970-01-01
    相关资源
    最近更新 更多