Python学习之把文件转换成exe文件

一、安装pyinstaller

安装参考:https://pyinstaller.readthedocs.io/en/stable/installation.html
Python学习之把文件转换成exe文件_第1张图片
用以上方法我最终失败了,所以我查找资料尝试了以下方法:
Python学习之把文件转换成exe文件_第2张图片
这里有个问题就是当你直接输入pip install pyinstaller时会弹出
Preparing wheel metadata … error
这个错误,这里的原因是缺少了一个wheel文件
解决办法
先安装wheel

pip install wheel -i https://pypi.tuna.tsinghua.edu.cn/simple

安装完成后,再次安装Pyinstaller

pip install Pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple

原文链接:https://blog.csdn.net/crazy_kismet/article/details/103738158

Python学习之把文件转换成exe文件_第3张图片

二、安装pypiwin32

Python学习之把文件转换成exe文件_第4张图片

三、实行单个文件转换

用管理员权限运行命令行并cd到.py文件所到文件处,利用pyinstaller -F 文件名.py运行
Python学习之把文件转换成exe文件_第5张图片
运行结束后在当前文件夹会出现几个文件夹,在dist文件中就会出现exe文件,直接运行即可
在这里插入图片描述
运行后一般会先弹出来一个控制台,看文档说可以-w去除控制台,本人尝试失败,原因未知,但也还行
Python学习之把文件转换成exe文件_第6张图片

四、实行多个文件转换

在查找多处资料后找到以下方法:

1.按照单个文件的实行方法运行主文件,我这里是main.py
Python学习之把文件转换成exe文件_第7张图片
2.打开后缀名为.spec 的文件,将其他py文件和非py文件路径加进去
Python学习之把文件转换成exe文件_第8张图片
3.命令行执行,记住是***管理员命令行***,pyinstaller -F main.spec
Python学习之把文件转换成exe文件_第9张图片Python学习之把文件转换成exe文件_第10张图片
然后在dist文件夹里就会出现一个以main为名的文件夹,里面就是各种文件,里面的很多东西都没有用,这是因为pyinstaller把所有电脑里已存在的包都导入进来了,往下滑就会看到与文件夹同名的exe文件,双击运行即可
在这里插入图片描述Python学习之把文件转换成exe文件_第11张图片Python学习之把文件转换成exe文件_第12张图片
Python学习之把文件转换成exe文件_第13张图片

五、问题

很主要的一个问题,这也是导致我最开始实行多个文件时失败:
音频格式和音频的名字

pygame里面调用音频主要是两个函数:

#背景音乐
pygame.mixer.music.load()#可以加载MP3, WAV,OGG, MIDI格式
#游戏音效
sound = pygame.mixer.Sound()#可以加载MP3, WAV, OGG格式

我最开始的代码用的.ogg格式的背景音乐以及.wav格式的游戏音效,所以正常运行是没有错,但转换为exe之后一直提示错误。但我并不知道错误出现在音频上,然后我就把所有类全部整合进了一个plane.py文件中,运行还是错误,然后我就发现了音频的问题,开始了爆改代码之路:

1.去掉所有音频,最终转化成功,飞机大战1.0诞生
2.在游戏结束后加入分数展示,飞机大战2.0诞生
3.两个格式的音频分开加入,最终.wav播放成功,飞机大战3.0诞生
4.将背景音乐转化为.wav格式加入,成功播放,至此还原代码实行效果,飞机大战4.0诞生
Python学习之把文件转换成exe文件_第14张图片

六、资源补充

  1. pyinstaller官方文档:https://pyinstaller.readthedocs.io/en/stable/requirements.html
  2. 在线格式转换:https://online-audio-converter.com/cn/

你可能感兴趣的:(笔记)