详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件


Posted in Python onAugust 23, 2019

一、安装Pyinstaller

环境:python3.6、window10

注意事项:

python64位版本打包的exe,只能在64位操作系统使用

打包文件夹和文件的名称不能用中文

pygame打包是里面的字体要改成"arial"格式。 pygame.font.SysFont("宋体", 32) 32)  换成 pygame.font.SysFont('arial',32)

1、直接安装

pip命令安装:pip install Pyinstaller

安装成功后会提示如下图所示

详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件

2、Anaconda环境下安装

如果是在Anaconda环境下直接打包,可能会将其中大部分扩展都打包进去了,造成打包后的exe文件过大,为此有以下解决方案(如果未出现此问题的同学请跳过)。

建立虚拟环境 :pipenv install

进入虚拟环境:pipenv shell

安装所需模块 pip install pygame

打包的模块也要安装 pip install pyinstaller

本人在C:/Users/EDZ/目录中新建Pyinstaller文件,首先进入目录,建立虚拟环境,进入虚拟环境,最后安装程序所需的安装模块以及pyinstaller。具体过程如图所示:

详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件

详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件

二、使用Pyinstaller打包生成exe文件

将要打包的py文件放入所创建的C:\Users\EDZ\Pyinstaller目录中,将自定义程序图标ico文件,也一同放进程序所在目录程序。

详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件

详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件

介绍一下 Pyinstaller 常用的参数用法:

  • -F: 表示生成单个可执行文件
  • -D:表示打包多个文件,在dist中生成很多依赖文件,
  • -w:指定生成 GUI 软件,表示去掉控制台窗口
  • -i <Icon File>: 指定打包后可执行文件的图标

命令:pyinstaller -F -w -i snaker.ico retro_snaker.py

稍微等待后,如果成功则会提示successfully,如图所示:

详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件

三、运行生成的exe文件

打包完成后,exe程序将会产生在打包目录的dist文件中。

如图所示:

详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件

详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件

那么我们就可以打开并运行你所打包的exe文件了

详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件

四、exe文件运行中的问题 

缺少MSVisualC++ 2015动态库

打开程序,报错提示:无法定位程序输入点ucrtbase.terminate于动态链接库api-ms-win-crt-runtime-l1-1-0.dll上,如图所示:

详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件

 解决方案:安装: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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Python中的序列化与反序列化的使用
Jun 30 Python
详解Python中的__new__、__init__、__call__三个特殊方法
Jun 02 Python
带你了解python装饰器
Jun 15 Python
python获取当前目录路径和上级路径的实例
Apr 26 Python
python 借助numpy保存数据为csv格式的实现方法
Jul 04 Python
Python绘制正余弦函数图像的方法
Aug 28 Python
pandas DataFrame的修改方法(值、列、索引)
Aug 02 Python
pandas 缺失值与空值处理的实现方法
Oct 12 Python
Django将默认的SQLite更换为MySQL的实现
Nov 18 Python
python 成功引入包但无法正常调用的解决
Mar 09 Python
Python进程间通信multiprocess代码实例
Mar 18 Python
Python列表嵌套常见坑点及解决方案
Sep 30 Python
python如何保证输入键入数字的方法
Aug 23 #Python
对python while循环和双重循环的实例详解
Aug 23 #Python
python 进程 进程池 进程间通信实现解析
Aug 23 #Python
python实现的生成word文档功能示例
Aug 23 #Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
Aug 23 #Python
详解Matplotlib绘图之属性设置
Aug 23 #Python
python3.6生成器yield用法实例分析
Aug 23 #Python
You might like
PHP register_shutdown_function函数的深入解析
2013/06/03 PHP
PHP之sprintf函数用法详解
2014/11/12 PHP
php动态生成版权所有信息的方法
2015/03/24 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
2016/11/16 PHP
Javascript中的数学函数集合
2007/05/08 Javascript
Javascript 判断Flash是否加载完成的代码
2010/04/12 Javascript
js实现翻页后保持checkbox选中状态的实现方法
2012/11/03 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
2015/09/15 Javascript
JS实现超简单的鼠标拖动效果
2015/11/02 Javascript
完美解决input[type=number]无法显示非数字字符的问题
2017/02/28 Javascript
基于jQuery ztree实现表格风格的树状结构
2018/08/31 jQuery
jQuery实现数字自动增加或者减少的动画效果示例
2018/12/11 jQuery
vue实现井字棋游戏
2020/09/29 Javascript
python Opencv将图片转为字符画
2021/02/19 Python
python使用RNN实现文本分类
2018/05/24 Python
python多线程并发实例及其优化
2019/06/27 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
详解Python中的正斜杠与反斜杠
2019/08/09 Python
python实现的爬取电影下载链接功能示例
2019/08/26 Python
python中property和setter装饰器用法
2019/12/19 Python
深入浅析python的第三方库pandas
2020/02/13 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
2020/03/30 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
Python并发爬虫常用实现方法解析
2020/11/19 Python
乌克兰网上珠宝商店:GoldSoveren
2020/03/31 全球购物
将"引用"作为函数参数有哪些特点
2013/04/05 面试题
电气自动化个人求职信范文
2014/02/03 职场文书
渡河少年教学反思
2014/02/12 职场文书
幼儿园元旦活动感言
2014/03/02 职场文书
代理词怎么写
2015/05/25 职场文书
单位工作证明范本
2015/06/15 职场文书
2016年重阳节慰问信
2015/12/01 职场文书
个人道歉信大全
2019/04/11 职场文书
开学第一周日记(三篇范文)
2019/08/23 职场文书
Python语言内置数据类型
2022/02/24 Python