详解使用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冒泡排序简单实现方法
Jul 09 Python
关于Python如何避免循环导入问题详解
Sep 14 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
Nov 29 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
Dec 27 Python
Python调用服务接口的实例
Jan 03 Python
解决PyCharm控制台输出乱码的问题
Jan 16 Python
Python实现Linux监控的方法
May 16 Python
python绘制地震散点图
Jun 18 Python
使用python serial 获取所有的串口名称的实例
Jul 02 Python
PyQt5+python3+pycharm开发环境配置教程
Mar 24 Python
Python中zipfile压缩文件模块的基本使用教程
Jun 14 Python
基于python实现简单C/S模式代码实例
Sep 14 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 获取完整url地址
2008/12/20 PHP
php adodb连接mssql解决乱码问题
2009/06/12 PHP
用php来改写404错误页让你的页面更友好
2013/01/24 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
2013/08/10 PHP
php遍历目录输出目录及其下的所有文件示例
2014/01/27 PHP
php生成gif动画的方法
2015/11/05 PHP
php实现的双色球算法示例
2017/06/20 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
javascript 选择文件夹对话框(web)
2009/07/07 Javascript
理解Javascript文件动态加载
2016/01/29 Javascript
全面解析Bootstrap布局组件应用
2016/02/22 Javascript
深入理解jQuery之事件移除
2016/06/02 Javascript
JavaScript 对象详细整理总结
2016/09/29 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
ionic环境配置及问题详解
2017/06/27 Javascript
JavaScript严格模式下关于this的几种指向详解
2017/07/12 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
Python入门_浅谈数据结构的4种基本类型
2017/05/16 Python
python导出hive数据表的schema实例代码
2018/01/22 Python
Python3实现带附件的定时发送邮件功能
2020/12/22 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
深入浅析python3中的unicode和bytes问题
2019/07/03 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
数据库的约束含义
2012/09/09 面试题
四年的大学生生活自我评价
2013/12/09 职场文书
实习鉴定范文
2013/12/19 职场文书
文秘人员工作职责
2014/01/31 职场文书
安全责任书范文
2014/03/12 职场文书
承诺书的格式范文
2014/03/28 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
英语感谢信范文
2015/01/20 职场文书
2015庆祝七一建党节94周年活动总结
2015/03/20 职场文书
2015年公路养护工作总结
2015/05/13 职场文书
Android Studio实现带三角函数对数运算功能的高级计算器
2022/05/20 Java/Android