py2app 0.26打包后启动仅显示黑色Tkinter窗口求解决方案
py2app 0.26 打包Tkinter程序黑屏问题解决说明
该问题属于py2app 0.26版本的已知共性缺陷,由该版本更新的依赖捆绑逻辑对Tkinter系统框架的资源识别错误导致,版本发布后已有大量开发者反馈同类问题。目前已验证的可行解决方法如下:
- 方案1(保留0.26版本及SSL recipe功能):
在项目的setup.py配置中添加排除规则,示例配置如下:
若使用命令行直接打包,可直接添加参数:OPTIONS = { 'py2app': { 'excludes': ['_tkinter'], 'frameworks': ['/Library/Frameworks/Tk.framework'] # 替换为你本地Tk.framework的实际路径 } }py2app your_script.py --exclude-module=_tkinter --framework=/Library/Frameworks/Tk.framework - 方案2(临时降级兼容):
若无强制绑定0.26版本的需求,可降级到无该缺陷的0.25.1版本,降级命令为pip install py2app==0.25.1。若仍需使用SSL recipe功能,可手动将0.26版本源码中的SSL/__init__.pyrecipe文件复制到本地0.25.1版本安装路径下的py2app/recipes/目录即可复用该功能。 - 方案3(官方修复版):
目前py2app主开发分支已经合并了该问题的修复代码,该修复会随0.26.1补丁版本正式发布,升级到对应版本后无需额外配置即可正常打包Tkinter程序。
内容的提问来源于stack exchange,提问作者ShadowDust99
相关产品推荐
相关产品推荐

