详解使用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代理抓取并验证使用多线程实现
May 03 Python
Python操作SQLite简明教程
Jul 10 Python
在Python的web框架中配置app的教程
Apr 30 Python
python实现守护进程、守护线程、守护非守护并行
May 05 Python
python日期时间转为字符串或者格式化输出的实例
May 29 Python
Atom的python插件和常用插件说明
Jul 08 Python
对python文件读写的缓冲行为详解
Feb 13 Python
Django model update的多种用法介绍
Mar 28 Python
django之对FileField字段的upload_to的设定方法
Jul 28 Python
python 通过文件夹导入包的操作
Jun 01 Python
Python爬取YY评级分数并保存数据实现过程解析
Jun 01 Python
教你怎么用python实现字符串转日期
May 24 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
2021年最新CPU天梯图
2021/03/04 数码科技
joomla内置的表单验证功能使用方法
2010/06/11 PHP
php shell超强免杀、减少体积工具实现代码
2012/10/16 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
php中文验证码实现方法
2015/06/18 PHP
php 中htmlentities导致中文无法查询问题
2018/09/10 PHP
js实现上传图片之上传前预览图片
2013/03/25 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
2013/05/08 Javascript
Javascript玩转继承(一)
2014/05/08 Javascript
jquery 表格排序、实时搜索表格内容(附图)
2014/05/19 Javascript
JavaScript对数字的判断与处理实例分析
2015/02/02 Javascript
AngularJS 入门教程之HTML DOM实例详解
2016/07/28 Javascript
jQuery实现获取隐藏div高度的方法示例
2017/02/09 Javascript
微信小程序promsie.all和promise顺序执行
2017/10/27 Javascript
解决idea开发遇到javascript动态添加html元素时中文乱码的问题
2020/09/29 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
[00:43]2016完美“圣”典风云人物:单车宣传片
2016/12/02 DOTA
python difflib模块示例讲解
2017/09/13 Python
Python 支付整合开发包的实现
2019/01/23 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
2019/06/10 Python
Python中新式类与经典类的区别详析
2019/07/10 Python
解决django 新增加用户信息出现错误的问题
2019/07/28 Python
Windows下实现将Pascal VOC转化为TFRecords
2020/02/17 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
Python通过递归函数输出嵌套列表元素
2020/10/15 Python
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
Html5中localStorage存储JSON数据并读取JSON数据的实现方法
2017/02/13 HTML / CSS
纽约手袋品牌:KARA
2018/03/18 全球购物
公司企业表扬信
2014/01/11 职场文书
校本教研工作制度
2014/01/22 职场文书
网络宣传方案
2014/03/15 职场文书
后备干部推荐材料
2014/12/24 职场文书
2015年法律事务部工作总结
2015/07/27 职场文书
2015中秋祝酒词
2015/08/12 职场文书
党员读书活动心得体会
2016/01/14 职场文书
适合青年人白手起家的创业项目分享
2019/08/16 职场文书