详解使用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利用hook技术破解https的实例代码
Mar 25 Python
零基础写python爬虫之抓取糗事百科代码分享
Nov 06 Python
讲解Python中if语句的嵌套用法
May 14 Python
约瑟夫问题的Python和C++求解方法
Aug 20 Python
python实现爬虫统计学校BBS男女比例之数据处理(三)
Dec 31 Python
python 时间戳与格式化时间的转化实现代码
Mar 23 Python
python列表生成器迭代器实例解析
Dec 19 Python
浅析Python数字类型和字符串类型的内置方法
Dec 22 Python
python名片管理系统开发
Jun 18 Python
Python的3种运行方式:命令行窗口、Python解释器、IDLE的实现
Oct 10 Python
详解Python魔法方法之描述符类
May 26 Python
Python matplotlib绘制雷达图
Apr 13 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
弄了个检测传输的参数是否为数字的Function
2006/12/06 PHP
PHP手机号码归属地查询代码(API接口/mysql)
2012/09/04 PHP
使用PHP和HTML5 FormData实现无刷新文件上传教程
2014/09/06 PHP
Yii2第三方类库插件Imagine的安装和使用
2017/07/06 PHP
Aster vs KG BO3 第二场2.19
2021/03/10 DOTA
一个可拖拽列宽表格实例演示
2012/11/26 Javascript
js抽奖实现随机抽奖代码效果
2013/12/02 Javascript
js仿土豆网带缩略图的焦点图片切换效果实现方法
2015/02/23 Javascript
微信QQ的二维码登录原理js代码解析
2016/06/23 Javascript
基于Bootstrap仿淘宝分页控件实现代码
2016/11/07 Javascript
JS 拦截全局ajax请求实例解析
2016/11/29 Javascript
Angular工具方法学习
2016/12/26 Javascript
浅谈JS如何实现真正的对象常量
2017/06/25 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
2017/12/20 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
2015/05/20 Python
解决DataFrame排序sort的问题
2018/06/07 Python
对Python _取log的几种方式小结
2019/07/25 Python
python3实现mysql导出excel的方法
2019/07/31 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
python实现人像动漫化的示例代码
2020/05/17 Python
CSS3实战第一波 让我们尽情的圆角吧
2010/08/27 HTML / CSS
html5绘制时钟动画
2014/12/15 HTML / CSS
HTML5逐步分析实现拖放功能的方法
2020/09/30 HTML / CSS
英国团购网站:Groupon英国
2017/11/28 全球购物
EQVVS官网:设计师男装和女装
2018/10/24 全球购物
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
安全生产实施方案
2014/02/23 职场文书
办公室主任四风问题对照检查材料思想汇报
2014/09/28 职场文书
委托证明范本
2014/11/25 职场文书
导游词之宁夏贺兰山岩画
2019/11/08 职场文书
Spring依赖注入多种类型数据的示例代码
2022/03/31 Java/Android
MySQL远程无法连接的一些常见原因总结
2022/09/23 MySQL