Mac Big Sur运行py2app打包应用出现Launch error启动错误求助
第一步:获取具体报错信息
当前通用启动报错无法定位问题,首先执行以下操作拿到完整日志:
- 找到打包生成的
FileManager.app,右键选择「显示包内容」 - 进入
Contents/MacOS目录,找到和应用同名的可执行文件 - 打开终端,将该可执行文件拖入终端窗口,按回车运行,终端会输出完整的错误栈,根据具体报错可以精准定位问题
第二步:常见问题修复方案
1. 补全setup.py配置
你当前的配置过于简略,py2app极易出现依赖漏打包的问题,替换为以下完善配置,根据自己的项目调整参数:
from setuptools import setup APP = ['FileManager.py'] # 如果你有图标、配置文件、静态资源等,全部添加到DATA_FILES列表中 DATA_FILES = [] OPTIONS = { 'argv_emulation': True, # 按实际使用添加你的脚本依赖的第三方库,例如用到tkinter就加'tkinter',用到pandas就加'pandas' 'includes': [], # 排除不需要的库,避免冲突,如果你用到了列表里的库删掉对应项即可 'excludes': ['PyQt4', 'PyQt5', 'PySide'], # 如果使用tkinter作为GUI框架,需要添加以下框架配置 'frameworks': ['/Library/Frameworks/Tk.framework/Tk'] } setup( app=APP, data_files=DATA_FILES, options={'py2app': OPTIONS}, setup_requires=['py2app'], )
2. 修正打包流程
- 每次打包前先清理旧的缓存和构建文件,避免残留文件导致错误:
rm -rf build dist
确保执行打包命令的Python版本和你开发调试脚本用的Python版本完全一致,避免依赖版本冲突
- 调试阶段建议用别名模式打包,打包速度快,便于快速验证问题:
python setup.py py2app -A
- 功能验证无误后,再执行正式打包命令生成独立可分发的应用包:
python setup.py py2app
3. 解决Big Sur系统权限限制
Big Sur对未签名的第三方应用有严格的运行限制,遇到应用被拦截的情况可以尝试:
- 右键点击应用包,选择「打开」,跳过默认的签名校验
- 打开「系统偏好设置-安全性与隐私-通用」,确认允许该应用运行,若要彻底解除限制,可以在终端执行
sudo spctl --master-disable,输入密码后重启安全与隐私面板,选择允许「任何来源」的应用运行
内容的提问来源于stack exchange,提问作者Jo Seb
相关产品推荐
相关产品推荐

