使用 Fbs/PyInstaller 冻结我的应用程序导致在另一台电脑上启动时无法执行 pyi_rth_qt5plugins

Freezing my app with Fbs/PyInstaller result in fail to execute pyi_rth_qt5plugins when starting on an other pc

我正在尝试使用 Fbs (https://build-system.fman.io/) 冻结我的 python 应用程序 在 运行 我修复了一些库错误之后,我能够毫无问题地冻结它。 我可以在我的电脑上完美启动应用程序。但是在另一台计算机上我会得到错误: Failed to execute script pyi_rth_qt5plugins

经过一番研究,问题似乎出在 fbs 使用的 PyInstaller 上。 冻结时我在终端中没有错误,但是在 warn-Colorspace_converter.txt 文件中我有以下错误:

missing module named 'PyQt5.QtCore' - imported by PIL.ImageQt (conditional, optional), l:\script\colour\venvcolour\lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_qt5plugins.py (optional)
missing module named 'PyQt5.sip' - imported by l:\script\colour\venvcolour\lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_qt5plugins.py (optional)
missing module named sip - imported by l:\script\colour\venvcolour\lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_qt5plugins.py (optional)

问题是我正在使用 PySide2,所以我该如何解决这个问题?

线程到我发现的类似问题,但我不明白,因为它们只针对 pyinstaller 或 PyQt5。我应该安装可能导致 fbs 出现问题的 PyQt5 以拥有这两个库吗?

环境:

我不是专家什么的..分享我的经验

您可以使用最新的 Pyinstaller 版本来冻结应用程序。然后将对象移动到 target/<appname> 文件夹。 现在使用 fbs installer 从中制作安装程序。

Failed to execute script 如果缺少某些依赖项,总是会出现。

我相信我们也可以使用fbs freeze --debug,它将显示缺少的依赖项。然后,您可以将它们添加到 .spec 文件

中的 hidden imports

所以似乎重新创建我的虚拟环境并降级到较低的 PySide2 版本 (5.13.1) 解决了这个问题。

我在 PyInstaller 日志中仍然有相同的错误(并且在终端中也有一些库未找到)但应用程序现在可以完美启动。