Pyinstaller出现错误(“加载Python时出错...未找到合适的映像”)

时间:2020-06-04 20:10:20

标签: python python-imaging-library pyinstaller

我遇到的问题是Mac上的pyinstaller出现了问题,当我单击创建的可执行文件时会出现此错误:

[9888] Error loading Python lib '/Users/Faris/Downloads/as5/dist/startscreen/Python': dlopen: dlopen(/Users/Faris/Downloads/as5/dist/startscreen/Python, 10): no suitable image found.  Did find:
    /Users/Faris/Downloads/as5/dist/startscreen/Python: code signature invalid for '/Users/Faris/Downloads/as5/dist/startscreen/Python'

这是一个使用PIL和4个PNG文件的GUI应用程序。我该如何解决?

4 个答案:

答案 0 :(得分:1)

请注意,在macOS上,python3.7.7或+和python3.8.3或+给出了相同的错误,因为为python添加了全公证签名以避免网守警报。

只需安装Python 3.7.6或Python 3.8.2

答案 1 :(得分:1)

我找到了让它工作的方法。在 Python 库位于 dist 文件夹中后,运行:

codesign -f -s - Python

然后运行应用程序。

我有一个理论知道问题是什么,但我不确定。我认为 Python 库是签名的,但是当 PyInstaller 将其从原始位置移动时,签名验证失败。

该命令的作用是将签名替换为 ad-hoc 签名,这允许您在本地运行应用程序,但可能不算作分发签名。我不能说我完全理解它。

在交付应用程序之前,您可能希望用适当的签名替换临时签名。

答案 2 :(得分:0)

尝试从PyInstaller安装最新的开发版本:

pip3 install --upgrade https://github.com/pyinstaller/pyinstaller/tarball/develop

pip install --upgrade https://github.com/pyinstaller/pyinstaller/tarball/develop

答案 3 :(得分:0)

我通过以下方法解决了相同的问题:

  1. pip3 uninstall pyinstaller
  2. brew reinstall python
  3. brew install pyinstaller