我遇到的问题是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应用程序。我该如何解决?
答案 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)
我通过以下方法解决了相同的问题:
pip3 uninstall pyinstaller
brew reinstall python
brew install pyinstaller