python打包成exe_如何把Python源码打包成EXE文件?以及bug

博主在使用PyInstaller将Python程序打包成exe时遇到了两个问题:一是程序运行闪退,原因是图像资源未被包含;二是打包后的程序显示无响应,原来是字体模块不被支持。通过将图像资源复制到exe目录,以及删除源代码中的字体部分,成功解决了这两个问题,使得程序能够正常运行。
摘要由CSDN通过智能技术生成

6c1b2089cdff90250e2615fc0091f8d0.png

有两种常见的解决方案:

第一种:

py2exe,由于py2exe版本的更新定滞,我用的是python3.6.2,无法正常使用py2exe,故排除

第二种:

PyInstaller

PyInstaller的安装与使用:


第一步:

用pip安装

pip install pyinstaller

第二步:

在python程序所在文件夹打开cmd输入

pyinstaller -f filename.py

会创建一个dist文件夹和一个build文件夹

其中dist中的exe文件即为打包后的文件,

这里便完成了,简单吧。。


bug1:

当我运行文件时,却发现了意想不到的结果

游戏窗口直接闪退了。。。。。。

我试了好几次都不行,等我执行时,用眼睛捕捉到了细节-报错信息:

大概意思是无法找到图像XXXX.png

我有些懵,习惯性的把图像的后缀改成了jpg,额还是不行

我冥思苦想,打开了源代码,其中有一行代码提醒了我

GameOver = pygame.image.load('image/gameover.png')

哦它引用的的是基于自己所在目录中的image,而我没有把图像资源一起打包。

于是我把image拷贝到exe所在目录

bug2:

我激动地执行exe文件,命令窗口停顿在那里,接着游戏窗口出现。

终于

。。。。

还是失败了

程序显示无响应,它问我是否关闭程序

我毫不犹豫地点开了查看详细信息:

错误xxx 模块:pygame.font.byt

嗯,莫非是打包后的exe不支持这种字体。

于是我把源代码中的字体部分删掉了,程序顺利运行(真的无奈,有更好的解决方案请留言)

2018/6/21

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值