我写了一个使用PyQt5作为GUI的Python3应用程序,可以在每个桌面系统上正常运行。现在我想在由硬件制造商提供的嵌入式Linux(具体来说是:Yocto BSP)上运行此应用程序。由于BSP上没有PyQt5,而是运行在BSP上的qt5和python3软件包,因此我想(某种方式)制作应用程序的独立可执行文件。另外,我没有编写bitbake配方和创建自定义BSP的经验,并且没有找到任何现有的PyQt5配方。
到目前为止,我尝试过但没有成功的方法有:
- 使用nuitka、cx-freeze、pyinstaller(在类似的arm平台上编译)制作独立可执行文件。 - 使用pyqtdeploy将Python转换为C++源代码,然后通过使用提供的构建环境进行编译。我对pyqt5和sip软件包进行了静态编译,一切都编译得很好,但是make报告未定义的引用(链接器错误),我无法解决(因为我对C++不太熟悉)。
现在,在非常有限的软件包的嵌入式Linux系统上运行Python/PyQt5应用程序的最佳方法是什么?
到目前为止,我尝试过但没有成功的方法有:
- 使用nuitka、cx-freeze、pyinstaller(在类似的arm平台上编译)制作独立可执行文件。 - 使用pyqtdeploy将Python转换为C++源代码,然后通过使用提供的构建环境进行编译。我对pyqt5和sip软件包进行了静态编译,一切都编译得很好,但是make报告未定义的引用(链接器错误),我无法解决(因为我对C++不太熟悉)。
现在,在非常有限的软件包的嵌入式Linux系统上运行Python/PyQt5应用程序的最佳方法是什么?
meta-oe
中有一个python-pyqt
配方,可能会有所帮助;但在 OpenEmbedded / Yocto 中,Qt4 和 Qt5 之间存在差异。 - Anders