【发布时间】: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