使用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打包程序完成,可以尽情享受自己的游戏时光啦。

  • 12
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值