详解使用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 相关文章推荐
Python2.x与Python3.x的区别
Jan 14 Python
python实现汉诺塔递归算法经典案例
Mar 01 Python
wxpython中Textctrl回车事件无效的解决方法
Jul 21 Python
Python中函数eval和ast.literal_eval的区别详解
Aug 10 Python
kaggle+mnist实现手写字体识别
Jul 26 Python
Pytorch实现GoogLeNet的方法
Aug 18 Python
使用浏览器访问python写的服务器程序
Oct 10 Python
利用Python如何实时检测自身内存占用
May 09 Python
如何利用python发送邮件
Sep 26 Python
python 解决函数返回return的问题
Dec 05 Python
Django中的JWT身份验证的实现
May 07 Python
python_tkinter弹出对话框创建
Mar 20 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中strtotime函数使用方法详解
2011/11/27 PHP
详解PHP对数组的定义以及数组的创建方法
2015/11/27 PHP
深入理解PHP类的自动载入机制
2016/09/16 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
不懂JavaScript应该怎样学
2008/04/16 Javascript
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
如何判断元素是否为HTMLElement元素
2013/12/06 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
node网页分段渲染详解
2016/09/05 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
2016/09/23 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
微信小程序 scroll-view实现上拉加载与下拉刷新的实例
2017/01/21 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
jQuery中实现text()的方法
2019/04/04 jQuery
JQuery的加载和选择器用法简单示例
2019/05/13 jQuery
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
在Linux系统上安装Python的Scrapy框架的教程
2015/06/11 Python
python爬虫解决验证码的思路及示例
2019/08/01 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
如何给Python代码进行加密
2020/01/10 Python
pandas中ix的使用详细讲解
2020/03/09 Python
使用HTML5 Canvas API中的clip()方法裁剪区域图像
2016/03/25 HTML / CSS
欧缇丽美国官网:Caudalie美国
2016/12/31 全球购物
Ralph Lauren英国官方网站:Ralph Lauren UK
2018/04/03 全球购物
小加工厂管理制度
2014/01/21 职场文书
进口业务员岗位职责
2014/04/06 职场文书
气象学专业个人求职信
2014/04/22 职场文书
标准毕业生自荐信
2014/06/24 职场文书
学校社会实践活动总结
2014/07/03 职场文书
安全生产一岗双责责任书
2014/07/28 职场文书
2014年打非治违工作总结
2014/11/13 职场文书
JavaScript实现简单拖拽效果
2021/09/15 Javascript
RestTemplate如何通过HTTP Basic Auth认证示例说明
2022/03/17 Java/Android
德劲DE1102数字调谐收音机机评
2022/04/07 无线电