详解使用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编程-将Python程序转化为可执行程序[整理]
Apr 09 Python
python中列表和元组的区别
Dec 18 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
May 16 Python
对Python subprocess.Popen子进程管道阻塞详解
Oct 29 Python
pyqt5 实现在别的窗口弹出进度条
Jun 18 Python
查看端口并杀进程python脚本代码
Dec 17 Python
使用pytorch完成kaggle猫狗图像识别方式
Jan 10 Python
Python unittest工作原理和使用过程解析
Feb 24 Python
MATLAB数学建模之画图汇总
Jul 16 Python
简单了解python关键字global nonlocal区别
Sep 21 Python
python中封包建立过程实例
Feb 18 Python
Python使用华为API为图像设置多个锚点标签
Apr 12 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+MySQL5.0中文乱码解决方法
2006/11/20 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
JavaScript入门教程(8) Location地址对象
2009/01/31 Javascript
Array.prototype 的泛型应用分析
2010/04/30 Javascript
把input初始值不写value的具体实现方法
2013/07/04 Javascript
jQuery表格排序组件-tablesorter使用示例
2014/05/26 Javascript
jQuery图片特效插件Revealing实现拉伸放大
2015/04/22 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
2015/12/18 Javascript
JavaScript根据CSS的Media Queries来判断浏览设备的方法
2016/05/10 Javascript
Ext JS框架程序中阻止键盘触发回退或者刷新页面的代码分享
2016/06/07 Javascript
JS中使用DOM来控制HTML元素
2016/07/31 Javascript
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
2019/02/12 Javascript
JS 封装父页面子页面交互接口的实例代码
2019/06/25 Javascript
jquery实现聊天机器人
2020/02/08 jQuery
JavaScript Blob对象原理及用法详解
2020/10/14 Javascript
Python的Django框架中从url中捕捉文本的方法
2015/07/20 Python
浅谈python可视化包Bokeh
2018/02/07 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
2018/08/22 Python
python3.6数独问题的解决
2019/01/21 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
浅析Python 多行匹配模式
2020/07/24 Python
详解用 python-docx 创建浮动图片
2021/01/24 Python
HTML5的结构和语义(4):语义性的内联元素
2008/10/17 HTML / CSS
Stella McCartney官网:成衣、包袋、香水、内衣、童装及Adidas系列
2018/12/20 全球购物
Sisley法国希思黎美国官方网站:享誉全球的奢华植物美容品牌
2020/06/27 全球购物
医药公司采购员岗位职责
2014/09/12 职场文书
2015年医德医风工作总结
2015/04/02 职场文书
大学生社会实践活动总结报告
2015/05/06 职场文书
劳动争议仲裁代理词
2015/05/25 职场文书
丧事主持词
2015/07/02 职场文书
2015年汽车销售员工作总结
2015/07/24 职场文书
《雷雨》教学反思
2016/02/20 职场文书
iSCSI服务器CHAP双向认证配置
2022/04/01 Servers
cypress测试本地web应用
2022/06/01 Javascript