详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件
作者:lihua979203269 时间:2023-11-10 13:20:31
一、安装Pyinstaller
环境:python3.6、window10
注意事项:
python64位版本打包的exe,只能在64位操作系统使用
打包文件夹和文件的名称不能用中文
pygame打包是里面的字体要改成"arial"格式。 pygame.font.SysFont("宋体", 32) 32) 换成 pygame.font.SysFont('arial',32)
1、直接安装
pip命令安装:pip install Pyinstaller
安装成功后会提示如下图所示
2、Anaconda环境下安装
如果是在Anaconda环境下直接打包,可能会将其中大部分扩展都打包进去了,造成打包后的exe文件过大,为此有以下解决方案(如果未出现此问题的同学请跳过)。
建立虚拟环境 :pipenv install
进入虚拟环境:pipenv shell
安装所需模块 pip install pygame
打包的模块也要安装 pip install pyinstaller
本人在C:/Users/EDZ/目录中新建Pyinstaller文件,首先进入目录,建立虚拟环境,进入虚拟环境,最后安装程序所需的安装模块以及pyinstaller。具体过程如图所示:
二、使用Pyinstaller打包生成exe文件
将要打包的py文件放入所创建的C:\Users\EDZ\Pyinstaller目录中,将自定义程序图标ico文件,也一同放进程序所在目录程序。
介绍一下 Pyinstaller 常用的参数用法:
-F: 表示生成单个可执行文件
-D:表示打包多个文件,在dist中生成很多依赖文件,
-w:指定生成 GUI 软件,表示去掉控制台窗口
-i <Icon File>: 指定打包后可执行文件的图标
命令:pyinstaller -F -w -i snaker.ico retro_snaker.py
稍微等待后,如果成功则会提示successfully,如图所示:
三、运行生成的exe文件
打包完成后,exe程序将会产生在打包目录的dist文件中。
如图所示:
那么我们就可以打开并运行你所打包的exe文件了
四、exe文件运行中的问题
缺少MSVisualC++ 2015动态库
打开程序,报错提示:无法定位程序输入点ucrtbase.terminate于动态链接库api-ms-win-crt-runtime-l1-1-0.dll上,如图所示:
解决方案:安装:Visual C++ Redistributable for Visual Studio 2015
注:下载对应版本安装
微软官网:https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145
安装后重启下电脑
若还不行,尝试安装下这个补丁:KB2999226
微软官网:https://www.microsoft.com/en-us/download/details.aspx?id=49093
来源:https://blog.csdn.net/m0_37960338/article/details/96440048
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python中赋值运算符的含义与使用方法
![](https://img.aspxhome.com/file/2023/9/117569_0s.png)
Python学习笔记之变量与转义符
![](https://img.aspxhome.com/file/2023/9/72769_0s.png)
基于python调用psutil模块过程解析
Request.ServerVariables应用实例
Javascript浅拷贝与深拷贝实现
Vue.js实现一个自定义分页组件vue-paginaiton
![](https://img.aspxhome.com/file/2023/2/130162_0s.jpg)
简单谈谈php延迟静态绑定
Python 3.6 -win64环境安装PIL模块的教程
![](https://img.aspxhome.com/file/2023/7/112397_0s.png)
python文件读取失败怎么处理
Python中的十大图像处理工具(小结)
![](https://img.aspxhome.com/file/2023/2/82612_0s.jpg)
python seaborn heatmap可视化相关性矩阵实例
![](https://img.aspxhome.com/file/2023/0/101450_0s.jpg)
asp dictionary对象的用法
详解Python多线程Selenium跨浏览器测试
![](https://img.aspxhome.com/file/2023/8/115608_0s.png)
Python中层次聚类的详细讲解
![](https://img.aspxhome.com/file/2023/9/84919_0s.png)
Vue.2.0.5过渡效果使用技巧
![](https://img.aspxhome.com/file/2023/4/139764_0s.png)
python通过tcp发送xml报文的方法
python 匹配url中是否存在IP地址的方法
带你深入了解MySQL语句优化的基本原则
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
![](https://img.aspxhome.com/file/2023/4/83904_0s.png)