使用pyinstaller打包:

pyinstaller -i study.icns -n exam -w -F main.py

这样就打包好了。

1.问题

打包好之后,在dist目录下有两个文件,发现左边的双击可以运行显示界面,右边的app双击后却直接闪退了。

如果是使用以下方法打包:

pyinstaller -i study.icns -n exam -w -D main.py

双击打开也是闪退,在终端使用:

open /Users/XXX/GitHub/exam_demo/dist/exam.app

打开也是一样,并抛出错误:

LSOpenURLsWithRole() failed with error -10810

如下图:

百度、goolge,github、stack overflow,到处搜索寻找解决办法,有说不能使用相对路径,必须要使用绝对路径,然后我便全部改成绝对路径,使用以下语句:

os.path.join(os.getcwd(), 'exam.db')

但是打包之后仍然闪退,折腾了好久也没有解决,崩溃了。就是这句让我走了不少弯路,直到我看到这篇文章:

https://blog.csdn.net/u014220518/article/details/100609843

2.解决方法

我想是不是我这个获取路径的方法不对,便参考上面的文章改成了:

os.path.join(os.path.dirname(sys.argv[0]), 'exam.db')

再重新打包,双击,完美运行不再闪退了,我的天呀!太不容易了!

3.最后

1.不知道这两种获取路径的方法有何不同。

2.pyinstaller打包出来的应用非常大,一开始有600多M,太夸张了。后来创建了虚拟环境,参考:

https://blog.csdn.net/frostime/article/details/90523062

在虚拟环境下打包瞬间变小多了,只有30M。

作者:fullback555

苹果系统 python闪退怎么解决_MacOS pyinstaller 打包python应用闪退问题解决相关推荐

  1. windows 打包 python 然后linux执行_使用pyinstaller打包python源代码,成为linux/windows下可执行文件...

    pyinstaller,打包python源代码,成为linux/windows下可执行文件,多平台 下载:http://www.pyinstaller.org/static/ http://www.p ...

  2. 解决用pyinstaller打包python程序,生成的.exe文件过大问题

    计算机是Windows 7旗舰版  32位操作系统. Anaconda3,32bit版本 python3.7 安装完 Pyinstaller,安装Pyinstaller的命令为:pip install ...

  3. pyinstaller打包python程序的常见问题

    使用pyinstaller打包python程序时遇到的问题记录,问题已全部解决. 解决方法详见 https://guangmujun.cn/archives/168 shapely库相关 问题: Un ...

  4. macOS pyinstaller打包python程序, subprocess无法运行

    在macos上使用pyinstaller打包python生成app, app也能启动运行, 可是在python中有用到pyside2的QThread和subprocess 经过验证, subproce ...

  5. Pyinstaller打包python文件太大?教你三个小技巧有效减小文件体积

    简介 有时候需要在未安装Python环境的平台上运行py程序,使用pyinstaller打包很方便,但打包后的可执行文件实在是太大了.原因在于打包时pyinstaller本就已经关联了很多的pytho ...

  6. pyinstaller 打包python应用为exe后 打包出现failed to execute script

    pyinstaller 打包python应用为exe后 打包出现failed to execute script 打包后出现如题问题,只需在打包语句中加入pkg_resources.py2_warn这 ...

  7. python打包成exe fail to ex_“failed to excute script xxx” PyInstaller 打包python程序为exe文件过程错误...

    在使用PyInstaller打包python程序,打包命令为: pyinstaller -F -w -i manage.ico yourpyfile.py 顺便说一下几个参数的作用 -F:是直接生成单 ...

  8. 苹果系统 python闪退怎么解决_电脑运行python闪退怎么解决

    展开全部 最近win10推送更2113新补丁,有用户反映更新完成后运行5261DNF(地下城与勇4102士)出现了闪退黑屏的现象,1653该怎么办呢?下面给大家分享下关于DNF黑屏闪退的解决方法. 原 ...

  9. ios python3闪退_解决Python3 cx_Freeze打包闪退/无法执行以及No module named 'matplotlib.backends.backend_tkagg'...

    [虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在.所以了解原理很重要.这里讲述在没有ARC的情况下,如何使用Instruments来查找程 cx_Free ...

  10. pyinstaller打包exe程序闪退问题修复

    pyinstaller打包exe程序,点击程序,闪退,问题原因: pyinstaller版本过低 升级 pip install --upgrade pyinstaller pyinstaller从4. ...

最新文章

  1. 继续咸鱼——2.18
  2. 成功网页设计师的七大必备技能
  3. 深入了解MyBatis二级缓存
  4. NYOJ 108士兵杀敌(一)
  5. 【天池赛事】零基础入门语义分割-地表建筑物识别 Task5:模型训练与验证
  6. 猎取人心的36条黄金法则
  7. c语言数据结构五子棋实验报告,数据结构课程设计-五子棋
  8. Windows下创建并运行.sh文件
  9. H-Magic Line_2019 牛客暑期多校训练营(第三场)
  10. 零基础学python大概要多久-怎么自学python,大概要多久?
  11. dllregisterserver找不到入口点_厨房间漏水找不到漏水点,厨房上面漏水 | 影楼
  12. Android计算器效果截图,Android复杂计算器实现
  13. 考研高等数学张宇30讲笔记——第十一讲 多元函数微分学
  14. 免费高效的WhatsApp助手
  15. 图信号处理之图拉普拉斯矩阵的含义
  16. 开发工具-vscode 使用技巧
  17. 京津冀地区地貌类型空间分布数据
  18. 纯小白如何拥有一个自己的服务器,并建立网站?
  19. LigaAI X 猴子无限 | AIGC 火了,专业设计者的福音来了!
  20. js:网页中的高和宽(document)

热门文章

  1. x86_64 gnu/linux,linux版本信息以及x86与x86_64的差别
  2. MySQL8下载安装卸载教程
  3. 测试路由器信号软件,无线信号测试环境及测试方法介绍
  4. c语言程序仪表称重编程,液体原料自动称重配料系统(软件设计)本科毕业设计(论文).doc...
  5. 解决Requirement already satisfied:问题
  6. 怎样在vs2010中添加图片资源呢?
  7. java.net.URISyntaxException: Illegal character in scheme name at index XX
  8. Beyond Part Models: Person Retrieval with Refined Part Pooling (and A Strong Convolutional Baseline)
  9. 浏览器控制台操作——随身笔记
  10. Using QByteRef with an index pointing outside the valid range of a QByteArray