详解使用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中条件选择和循环语句使用方法介绍
Mar 13 Python
python用户管理系统的实例讲解
Dec 23 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
May 16 Python
numpy添加新的维度:newaxis的方法
Aug 02 Python
python画双y轴图像的示例代码
Jul 07 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
Python 用matplotlib画以时间日期为x轴的图像
Aug 06 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
Sep 16 Python
Python aiohttp百万并发极限测试实例分析
Oct 26 Python
Python3 pickle对象串行化代码实例解析
Mar 23 Python
Pandas缺失值2种处理方式代码实例
Jun 13 Python
python小技巧——将变量保存在本地及读取
Nov 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
Could not load type System.ServiceModel.Activation.HttpModule解决办法
2012/12/29 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
filemanage功能中用到的lib.js
2007/04/08 Javascript
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
2011/09/26 Javascript
javascript Event对象详解及使用示例
2013/11/22 Javascript
JS的get和set使用示例
2014/02/20 Javascript
JS实现屏蔽shift,Ctrl,alt等功能键的方法
2015/06/01 Javascript
jQuery实现复选框批量选择与反选的方法
2015/06/17 Javascript
玩转NODE.JS(四)-搭建简单的聊天室的代码
2016/11/11 Javascript
详解javascript中对数据格式化的思考
2017/01/23 Javascript
Js面试算法详解
2018/04/08 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
Openlayers实现图形绘制
2020/09/28 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
2020/11/17 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
利用python实现微信头像加红色数字功能
2018/03/26 Python
Python反爬虫技术之防止IP地址被封杀的讲解
2019/01/09 Python
pandas.DataFrame的pivot()和unstack()实现行转列
2019/07/06 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
wxpython布局的实现方法
2019/11/01 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
2020/03/10 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
2020/07/09 Python
Python利用Faiss库实现ANN近邻搜索的方法详解
2020/08/03 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
PyChon中关于Jekins的详细安装(推荐)
2020/12/28 Python
DNA基因检测和分析:23andMe
2019/05/01 全球购物
Charles & Keith欧盟:新加坡时尚品牌
2019/08/01 全球购物
西班牙购买行李箱和背包网站:Maletas Greenwich
2019/10/08 全球购物
垃圾回收的优点和原理
2014/05/16 面试题
教师求职信
2014/06/17 职场文书
县政府领导班子四风问题对照检查材料思想汇报
2014/09/26 职场文书
在职证明范本
2015/06/15 职场文书
同步小康驻村工作简报
2015/07/20 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python