问题描述:
利用pyinstaller对python代码打包后,dist文件夹中会生成一个xxx.exe可执行文件。打包成功,但运行exe时一闪而过(闪退)。捕捉不对到底是打包错误呢,还是其他异常?那么如何解决?
PS:以上现象在windows系统中会出现,在Linux和mac系统中不会出现。
解决办法:
-
原因分析:一般地,用pyinstaller打包为单个exe文件的过程看上去很完美,但是封装后的exe文件每次执行几乎都闪退!
-
解决办法:办法一:在打包的py文件主函数最后一行添加以下代码:
input("please input any key to exit!")
然后重新打包,成功后直接点击exe文件运行。
办法二:先打开录屏软件,然后双击运行exe文件,就会将弹出控制后台闪退,这一过程,会以录屏的方式保留了下来,通过录屏视频一帧一帧往回找,找到出现控制台命令窗口的内容。
办法三:进入到命令窗口
step 1: win + r
step 2: cd进入到对应的dist文件夹中
step 3: xxx.exe
输入xxx.exe后回车运行,注意带不带.exe都行,然后又运行了一次,终于看到了错误信息,如下:
从错误信息也能看出为什么加入input()或者os.system(“pause”)等待信息没有用,因为根本就没走主程序,在开头导入模块的时候就出错了。