详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件
作者:lihua979203269 发布时间:2023-11-10 13:20:31
一、安装Pyinstaller
环境:python3.6、window10
注意事项:
python64位版本打包的exe,只能在64位操作系统使用
打包文件夹和文件的名称不能用中文
pygame打包是里面的字体要改成"arial"格式。 pygame.font.SysFont("宋体", 32) 32) 换成 pygame.font.SysFont('arial',32)
1、直接安装
pip命令安装:pip install Pyinstaller
安装成功后会提示如下图所示
2、Anaconda环境下安装
如果是在Anaconda环境下直接打包,可能会将其中大部分扩展都打包进去了,造成打包后的exe文件过大,为此有以下解决方案(如果未出现此问题的同学请跳过)。
建立虚拟环境 :pipenv install
进入虚拟环境:pipenv shell
安装所需模块 pip install pygame
打包的模块也要安装 pip install pyinstaller
本人在C:/Users/EDZ/目录中新建Pyinstaller文件,首先进入目录,建立虚拟环境,进入虚拟环境,最后安装程序所需的安装模块以及pyinstaller。具体过程如图所示:
二、使用Pyinstaller打包生成exe文件
将要打包的py文件放入所创建的C:\Users\EDZ\Pyinstaller目录中,将自定义程序图标ico文件,也一同放进程序所在目录程序。
介绍一下 Pyinstaller 常用的参数用法:
-F: 表示生成单个可执行文件
-D:表示打包多个文件,在dist中生成很多依赖文件,
-w:指定生成 GUI 软件,表示去掉控制台窗口
-i <Icon File>: 指定打包后可执行文件的图标
命令:pyinstaller -F -w -i snaker.ico retro_snaker.py
稍微等待后,如果成功则会提示successfully,如图所示:
三、运行生成的exe文件
打包完成后,exe程序将会产生在打包目录的dist文件中。
如图所示:
那么我们就可以打开并运行你所打包的exe文件了
四、exe文件运行中的问题
缺少MSVisualC++ 2015动态库
打开程序,报错提示:无法定位程序输入点ucrtbase.terminate于动态链接库api-ms-win-crt-runtime-l1-1-0.dll上,如图所示:
解决方案:安装: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
来源:https://blog.csdn.net/m0_37960338/article/details/96440048
猜你喜欢
- 一. 布隆过滤器简介布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别
- 前言上次查看了微信好友的位置信息,想了想,还是不过瘾,于是就琢磨起了把微信好友的个性签名拿到,然后分词,接着分析词频,最后弄出词云图来。1.
- 概况在开发过程中,我们一般直接用Python命令直接运行Flask程序。这样的运行只适合我们开发,方便我们调试。一旦程序部署到线上,这样运行
- 本文实例讲述了js选项卡的实现方法。分享给大家供大家参考。具体分析如下:一、思路1. 获取元素;2. for循环按钮元素添加onclick(
- 在用mysql时(show tables),有时候需要查看表和字段的相关信息(表与某字段是否存在等.)~~而PHP提供了这样的相关函数,如:
- 关于PEP 8PEP 8,Style Guide forPythonCode,是Python官方推出编码约定,主要是为了保证 Python
- 概述WSGI接口包含两方面:server/gateway 及 application/framework。server调用由applicat
- 导读我们在使用selenium打开google浏览器的时候,默认打开的是一个新的浏览器窗口,而且里面不带有任何的浏览器缓存信息。当我们想要爬
- 爬虫库使用简单的requests库,这是一个阻塞的库,速度比较慢。解析使用XPATH表达式总体采用类的形式多线程使用concurrent.f
- 个人理解:动态路由不同于常见的静态路由,可以根据不同的「因素」而改变站点路由列表。常见的动态路由大都是用来实现:多用户权限系统不同用户展示不
- 我想要的结果无非是去掉URL路径中的index.php首先是配置.htaccess<IfModule mod_rewrite.c>
- vue计算属性的缓存computed用法计算属性的缓存<!DOCTYPE html><html lang="en
- 测试环境:1:xp系统2:双显,1680×1050 + 1050×16803:chrome 版本4.14:ff版本3.6chrome是我的默
- 本文实例讲述了Thinkphp5.0框架视图view的循环标签用法。分享给大家供大家参考,具体如下:volist标签:<!-- 使用v
- 1.现在我本机系统已内置python2.62.下载进行源码安装复制链接下载到/root/mypackage,解压接着mkdir /usr/l
- Abs (数值)绝对值。一个数字的绝对值是它的正值。空字符串 (null) 的绝对值,也是空字符串。未初始化的变数,其绝对为 0例子:ABS
- 1、CSV(1)写csv文件import csvdef writecsv(path,data): with open(path,
- 1 什么是注释注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释
- 简单介绍下:CSS 图片拼合 (CSS sprites) 可有效降低图片文件的 HTTP 连接请求数. 多个图片将以一定间距合并为一个大图片
- 本文实例讲述了python RC4加密操作。分享给大家供大家参考,具体如下:# -*- conding:utf-8 -*-from Cryp