详解使用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实现TCP/IP协议下的端口转发及重定向示例
Jun 14 Python
简单谈谈Python中的反转字符串问题
Oct 24 Python
python 获取网页编码方式实现代码
Mar 11 Python
Python3.4实现远程控制电脑开关机
Feb 22 Python
Python饼状图的绘制实例
Jan 15 Python
详解python selenium 爬取网易云音乐歌单名
Mar 28 Python
python的sorted用法详解
Jun 25 Python
python 杀死自身进程的实现方法
Jul 01 Python
python3 动态模块导入与全局变量使用实例
Dec 22 Python
Python操作MongoDb数据库流程详解
Mar 05 Python
Python做图像处理及视频音频文件分离和合成功能
Nov 24 Python
详解Python中__new__方法的作用
Mar 31 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初学者写及时补给skype用户充话费的小程序
2008/11/02 PHP
php递归实现无限分类生成下拉列表的函数
2010/08/08 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
2013/11/12 PHP
微信随机生成红包金额算法php版
2016/07/21 PHP
PHP的mysqli_sqlstate()函数讲解
2019/01/23 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
2019/10/21 PHP
jQuery live( type, fn ) 委派事件实现
2009/10/11 Javascript
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
jQuery EasyUI API 中文文档 搜索框
2011/09/29 Javascript
toggle()隐藏问题的解决方法
2014/02/17 Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
2015/09/15 Javascript
JavaScript 对象详细整理总结
2016/09/29 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
Sortable.js拖拽排序使用方法解析
2016/11/04 Javascript
JSON与XML的区别对比及案例应用
2016/11/11 Javascript
js实现城市级联菜单的2种方法
2017/06/23 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
使用express来代理服务的方法
2019/06/21 Javascript
[30:51]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第一局
2016/03/04 DOTA
Python fileinput模块使用实例
2015/06/03 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
selenium+python实现自动登录脚本
2018/04/22 Python
Python二叉搜索树与双向链表转换算法示例
2019/03/02 Python
pywinauto自动化操作记事本
2019/08/26 Python
Python threading的使用方法解析
2019/08/28 Python
在jupyter notebook 添加 conda 环境的操作详解
2020/04/10 Python
python 实用工具状态机transitions
2020/11/21 Python
世界第一曲奇连锁店:Mrs. Fields Cookies
2017/02/04 全球购物
2014年九一八事变演讲稿
2014/09/14 职场文书
社区好人好事材料
2014/12/26 职场文书
三好学生评语大全
2014/12/29 职场文书
幼儿园家长工作总结2015
2015/04/25 职场文书
MySQL基础(一)
2021/04/05 MySQL
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python
Python用tkinter实现自定义记事本的方法详解
2022/03/31 Python