下面看下通过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种方式:
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文件的方法。
环境:python3.6、window10
注意事项:
pip命令安装:pip install Pyinstaller
安装成功后会提示如下图所示
如果是在Anaconda环境下直接打包,可能会将其中大部分扩展都打包进去了,造成打包后的exe文件过大,为此有以下解决方案(如果未出现此问题的同学请跳过)。
本人在C:/Users/EDZ/目录中新建Pyinstaller文件,首先进入目录,建立虚拟环境,进入虚拟环境,最后安装程序所需的安装模块以及pyinstaller。具体过程如图所示:
将要打包的py文件放入所创建的C:\Users\EDZ\Pyinstaller目录中,将自定义程序图标ico文件,也一同放进程序所在目录程序。
介绍一下 Pyinstaller 常用的参数用法:
命令:pyinstaller -F -w -i snaker.ico retro_snaker.py
稍微等待后,如果成功则会提示successfully,如图所示:
打包完成后,exe程序将会产生在打包目录的dist文件中。
如图所示:
那么我们就可以打开并运行你所打包的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文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。