使用pyinstaller打包python程序为exe却不能执行的解决办法

首先给大家推荐一下我老师大神的人工智能教学网站。教学不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵黄段子!点这里可以跳转到网站

“温故而知新”,故写此学习笔记,以待需要时查看。如若此文有助于解决你的问题,自然最好不过了。

问题描述:
在学习《python编程:从入门到实践》的过程中,将alien_invasion(外星人入侵)游戏项目使用pyinstaller打包时,虽然打包成功。但是alien_invasion.exe可执行exe出现闪退。

这里写图片描述
这里写图片描述
这里写图片描述

解决方案:
1.在命令行中,输入cd desktop\alien_invasion跳转到项目文件夹alien_invasion,然后输入pyinstaller -F alien_invasion.py按Enter键,如下图:

出现下图红线所示内容,项目打包成功,在项目文件夹的dist文件夹下可以找到alien_invasion.exe。

2.打开一个录制视频软件,本文用ScreenToGif录屏(由于alien_invasion.exe程序闪退,命令行输出看不到,导致难以发现具体问题。通过录屏可以查看命令行视频帧图片,从而发现问题,这是一个实用的本方法。)。双击alien_invasion.exe运行,alien_invasion.exe程序闪退之后,停止ScreenToGi视频录制,即可通过本软件查看命令行输出的导致程序闪退的具体问题,问题用红线标出。如下图所示:

3.将图片引用改为绝对路径,并在前面加r,代码示例如下:

    self.image = pygame.image.load(r'C:\Users\lenovo\Desktop\alien_invasion\images\alien.bmp')
这里写图片描述

` 同理,修改ship类的飞船图片引用路径为绝对路径,并注意添加r。再次使用pyinstaller 打包,本次打包时使用命令:pyinstaller -F -w alien_invasion.py(-w可以避免程序启动时弹出命令行窗口)。即可生成可执行程序exe.,双击程序如下图所示:

至此,使用pyinstaller打包程序完成,可以尽情享受自己的游戏时光啦。

点这里可以跳转到人工智能网站

0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请发表评论。x
()
x