Pyinstaller打包Pygame库写的外星人小游戏程序方法及解决闪退和无响应问题

我先放上我打包好的代码,在dist文件夹里面
需要注意的是,dist文件夹里面的文件不能分开:alien_invasion代码及其打包文件

python版本和pyinstaller安装

确保自己的python版本为3.6以下(我专门卸载了3.8,安装了3.6版本)

首先安装pyinstaller,很简单:先找到安装python的路径
在这里插入图片描述
然后删除路径,输入cmd,回车
Pyinstaller打包Pygame库写的外星人小游戏程序方法及解决闪退和无响应问题_第1张图片
在输入 pip install Pyinstaller
Pyinstaller打包Pygame库写的外星人小游戏程序方法及解决闪退和无响应问题_第2张图片

打包目标程序

打开代码,运行正常,然后右键
Pyinstaller打包Pygame库写的外星人小游戏程序方法及解决闪退和无响应问题_第3张图片
如果没有安装pycharm也很简单,就像上面安装pyinstaller一样,在需要打包的程序文件夹那里cmd,然后出来的指令行窗口出入接下来的指令就行:pyinstaller -F alien_invasion.py
在这里插入图片描述
pyinstaller的其他指令,在这里就不赘述了,有需要的话资很多博客都有
pyinstaller使用方法

Pyinstaller打包Pygame库写的外星人小游戏程序方法及解决闪退和无响应问题_第4张图片
好了,我们完成上述任务就能生成build和dist文件夹,dist文件夹里面便是可执行文件,我们需要将image文件夹(也就是图片)放到dist文件夹里面,然后双击alien_invasion.exe,便可以出现以下BUG了!

无响应

程序打开之后,发现没有响应,一直黑色窗口不动弹
Pyinstaller打包Pygame库写的外星人小游戏程序方法及解决闪退和无响应问题_第5张图片
这类问题完全可以通过安装纯净版的python来解决,而不需要繁琐的手段,比如下面的也可以解决问题

  1. 需要在系统的path里面添加缺少的文件的路径: 右键 我的电脑,高级系统设置,环境变量,path,编辑,添加 上面红色缺少的文件的路径
  2. pyinstaller --path 上面的路径
  3. 把却失的文件拖到程序路径

但是我觉得这些方法都很鸡肋,不如安装纯净版本的python,因为我在Anaconda的环境里面进行的打包,一来生成的exe文件600+M,二来这些库函数都很杂乱,很多都是不必须的dll,没必要管的,我没有太多精力去一个个弄,直接重新安装了python3.6,这样我缺什么库,添加什么会好很多。

通过以上工作,解决了无响应问题——也就是可执行文件找不到所需“部件”

闪退

打开程序之后,出现一段代码就退出了,或者不出现直接退了

需要在exe文件夹下面输入cmd,
Pyinstaller打包Pygame库写的外星人小游戏程序方法及解决闪退和无响应问题_第6张图片
回车之后输入, 文件名.exe 或者 .\文件名.exe

可以看到问题所在,根据具体问题百度即可解决

我在这里需要指出的是,如果按照上述操作之后任然没有任何错误提示,然后程序还是闪退!

  1. 程序中有web 一类的链接,这类链接具体原因我还不知道,但是会导致直接退出,我们的代码里面显然没有。
  2. 由于文字格式问题
    Pyinstaller打包Pygame库写的外星人小游戏程序方法及解决闪退和无响应问题_第7张图片
    这两个文件里面都有字体,换成下面的就可以了

Pyinstaller打包Pygame库写的外星人小游戏程序方法及解决闪退和无响应问题_第8张图片
3. 把图片或者包含图片的文件夹放到exe文件的文件夹下面

你可能感兴趣的:(Pyinstaller打包Pygame库写的外星人小游戏程序方法及解决闪退和无响应问题)