当前位置: 首页 > 新闻动态 > 软件编程

使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法

作者:用户投稿 浏览: 发布日期:2026-01-11
[导读]:这篇文章主要介绍了使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件的方法,给大家介绍了通过Pyinstaller打包Pygame库写的小游戏程序出现的问题及解决方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
目录
  • 一、安装Pyinstaller
    • 1、直接安装
    • 2、Anaconda环境下安装
  • 二、使用Pyinstaller打包生成exe文件
    • 三、运行生成的exe文件
      • 四、exe文件运行中的问题 

        下面看下通过Pyinstaller打包Pygame库写的小游戏程序出现的问题解决方法

        # -基于Python的Pygame库的GUI游戏

        游戏内容是通过飞船发射子弹来射击外星人
        空格键为开火,左右方向键移动,并设立了
        不同关卡。

        使用说明:

        开发环境,游戏直接运行alien_invasion.exe即可,也可在具有Python3环境下运行alien_invasion.py

        练习环境:

        Python:3.5.4 64位
        pyinstall:3.3.1
        pyinstall使用:
        pyinstaller -F demo.py
        参数  含义
        -F  指定打包后只生成一个exe格式的文件
        -D  –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
        -c  –console, –nowindowed 使用控制台,无界面(默认选项)
        -w  –windowed, –noconsole 使用窗口,无控制台
        -p  添加搜索路径,让其找到对应的库。
        -i  改变生成程序的icon图标

        打包注意事项:

        1.打包有2种方式:

        •     第一种是使用'-F'打包成单一的可执行文件,如alien_invasion.exe,此项目需要将
        •       images文件夹放置在与其同一目录下;
        •     第二种是默认使用'-D'方式,(但是我打包完成后无法运行,打包时经常出现“hidden import “pygame._view”not found”)

        2.打包的文件与《Python编程:从入门到实践》练习的项目文件有所差异,具体为
           button.py与scoreboard.py中的字体做了改动,由
                'pygame.font.SysFont(None, 48)'=>'pygame.font.SysFont('arial', 36)'

        3.使用pyinstaller打包时,不会自动包含图片文件,所以最简单的方式是打包后将图片放在运行程序的
          相应路径下。

        !!!打包完毕后一定要讲你的素材images放在exe目录里面,以便exe文件能够链接到你的素材。

        PS:指定dist生成目录路径(而不是命令行当前目录)

        pyinstaller -F E:/*/*/*.py --distpath=E:*/*/*/dist

        接着介绍下使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件的方法。

        一、安装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

        总结

        以上所述是小编给大家介绍的使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
        如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

        免责声明:转载请注明出处:http://sczxchw.cn/news/460480.html

        扫一扫高效沟通

        多一份参考总有益处

        免费领取网站策划SEO优化策划方案

        请填写下方表单,我们会尽快与您联系
        感谢您的咨询,我们会尽快给您回复!