详解使用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调用java的Webservice示例
Mar 10 Python
详解Python中__str__和__repr__方法的区别
Apr 17 Python
在Django的URLconf中使用命名组的方法
Jul 18 Python
Python读取文件内容的三种常用方式及效率比较
Oct 07 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
Apr 09 Python
python实现随机漫步方法和原理
Jun 10 Python
python 实现识别图片上的数字
Jul 30 Python
基于Python获取docx/doc文件内容代码解析
Feb 17 Python
Python自动重新加载模块详解(autoreload module)
Apr 01 Python
python 密码学示例——凯撒密码的实现
Sep 21 Python
Python-split()函数实例用法讲解
Dec 18 Python
Python新建项目自动添加介绍和utf-8编码的方法
Dec 26 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源码之 ext/mysql扩展部分
2009/07/17 PHP
php开发微信支付获取用户地址
2015/10/04 PHP
js下写一个事件队列操作函数
2010/07/19 Javascript
js查错流程归纳
2012/05/04 Javascript
jQuery把表单元素变为json对象
2013/11/06 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
jQuery设置和获取HTML、文本和值示例
2014/07/08 Javascript
Javascript获取当前日期的农历日期代码
2014/10/08 Javascript
浅谈javascript中基本包装类型
2015/06/03 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
JavaScript中获取Radio被选中的值
2015/11/11 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
2016/03/22 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
vue.js图片转Base64上传图片并预览的实现方法
2018/08/02 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
详解微信小程序调用支付接口支付
2019/04/28 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
在RedHat系Linux上部署Python的Celery框架的教程
2015/04/07 Python
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
对Python中type打开文件的方式介绍
2018/04/28 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
Python持续监听文件变化代码实例
2020/07/22 Python
瑞典时尚耳机品牌:Urbanears
2017/07/26 全球购物
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
SQL Server笔试题
2012/01/10 面试题
市场营销专业推荐信
2013/11/03 职场文书
总经理职责范文
2013/11/08 职场文书
小学生评语集锦
2014/04/18 职场文书
关于责任的演讲稿
2014/05/20 职场文书
学院党的群众路线教育实践活动整改方案
2014/10/04 职场文书
毕业感言怎么写
2015/07/31 职场文书
幼儿园国培研修日志
2015/11/13 职场文书
《雪地里的小画家》教学反思
2016/02/16 职场文书
NodeJs内存占用过高的排查实战记录
2021/05/10 NodeJs