pygame小甲鱼飞机大战游戏打包为exe文件遇到的各种问题终极解决办法

在python中比较常用的python转exe方法有三种,分别是cx_freeze py2exe PyInstaller。两种似乎对python3的支持不好,操作也没cx_freeze简单,所以选择cx_freeze来打包python程序。

一、pyinstaller打包方法
安装Pyinstaller
1、安装pywin32
win+R打开cmd
使用pip命令安装:pip install pywin32
2、安装Pyinstaller
win+R打开cmd
使用pip命令安装:pip install PyInstaller
使用Pyinstaller
win+R打开cmd窗口,把路径切换到文件所在路径(文件随便放在哪里都行)打开命令提示行,输入以下内容(最后的是文件名):

pyinstaller -F -w main.py -p xxx.py -p xxx.py

备注:pyinstaller -F -w 程序入口文件 -p 程序文件 -p 程序文件
最后将pygame需要的资源如图片音乐等文件与exe放在同一目录下,运行exe;

上面这个办法有没有用呢?能不能成功打包呢?当然是可以的,但是你会碰到百度里面搜索出来的所有问题,
使用pyinstaller打包后,运行exe就会提示错误,“failed to execute script main”。但是代码本地调是没有问题;
重点是照着做根本解决不了,本人耗时一上午,各种办法用尽,没有任何作用,最后只能转投cx_freeze;

二、cx_freeze打包方法
1、安装

pip install cx_freeze

2、cmd命令行进入python文件夹下scripts文件夹
C:\Users\fz\AppData\Local\Programs\Python\Python36\Scripts
输入以下命令会在python的scripts文件夹下生成cxfreeze.bat

python  cxfreeze-postinstall 

3、然后检查是否安装好,在命令行输入:

cxfreeze -h

如果scripts文件夹下生成了cxfreeze.bat文件还不正常显示,则可以用记事本创建一个名为cxfreeze.bat文件,编辑好其中的对应路径:
C:\Users\fz\AppData\Local\Programs\Python\Python36\Scripts

@ echo off
"C:\Users\fz\AppData\Local\Programs\Python\Python36\python.exe" "C:\Users\fz\AppData\Local\Programs\Python\Python36\Scripts\cxfreeze" %*
G:\plane>cxfreeze main.py --target-dir dist

上面我的是简便输入方法,dist是文件夹名称
main.py 要打包的主文件

–target-dir 是打包后的程序路径
–target-name 是打包后的程序名
–include-modules 是要包含的模块或库
–icon 是打包后的程序图标。

pygame小甲鱼飞机大战游戏打包为exe文件遇到的各种问题终极解决办法_第1张图片
pygame小甲鱼飞机大战游戏打包为exe文件遇到的各种问题终极解决办法_第2张图片
打包后的文件夹样式,讲需要的图片、声音、字体都放到该文件夹即可,亲测 桌面等环境均可使用;
pygame小甲鱼飞机大战游戏打包为exe文件遇到的各种问题终极解决办法_第3张图片

如果出现闪退或则不明问题的情况,将exe文件拖入 cmd中执行,命令行会显示错误信息;
pygame小甲鱼飞机大战游戏打包为exe文件遇到的各种问题终极解决办法_第4张图片

最后附上游戏截图pygame小甲鱼飞机大战游戏打包为exe文件遇到的各种问题终极解决办法_第5张图片

你可能感兴趣的:(python)