关于打包pygame遇到的相关问题
Posted Moqiqiuzi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于打包pygame遇到的相关问题相关的知识,希望对你有一定的参考价值。
目录
一、更新pip和pygame
pip install -U pip
py -m pip install -U pygame --user
二、安装pyinstaller
pip3 install pyinstaller
三、用pyinstaller打包游戏
先cd到程序目录,再使用以下命令:
Pyinstaller -F 程序名.py
然后这里我卡了,一直是出现环境变量的问题,导致pyinstaller命令根本无法使用
但是我的环境变量老早填好了:
但是我查了以下这个环境变量下的目录:
啥也没有,用everything查了一下,才发现都在这个目录下:
然后改了环境变量,正常运行
效果,打开同目录下的dist文件:
关于打包游戏的参考命令(参考:https://zhuanlan.zhihu.com/p/162237978)
Pyinstaller -F 程序名.py 直接打包
Pyinstaller -F -w 程序名.py 不显示控制台
Pyinstaller -F -i xx.ico 程序名.py 指定图标
四、未解决的问题(使用了cxfreeze方法打包程序)
一般情况下使用pyinstaller打包程序不会出现问题,但是当我使用pgzero提供的actor类来创建对象是,会出现一个错误:
百度无果,尝试cxfreeze方式打包
安装:pip install cx_freeze
然后好像是要到cx_Freeze目录下执行python cxfreeze-postinstall,但是我一直报错
①方法一
python 程序名.py build -i 图标名.ico
python 程序名.py bdist_msi
我只能执行,不能生成文件
②方法二
cxfreeze "C:\\Users\\lenovo\\Downloads\\ppp.py"
虽然点击exe文件成功运行了,但是我将该文件夹打包发送到没有装任何环境的虚拟机上时依旧出现了问题:
百度发现是C:\\Windows\\System32下面缺少这个文件,于是我把我自己电脑里的这个文件贴了过去,但还是报错:
百度了一下在虚拟机里执行了sfc /scannow
重启后还是无法正常启动
③方法三
cxfreeze -c "C:\\Users\\lenovo\\Downloads\\ppp.py" --target-dir dist
找到exe文件双击成功运行,这个方法和第二种差别不大
然后放在虚拟机上还是运行不了
更迷惑的是,原本使用pyinstaller至少可以在虚拟机上运行没有使用actor()类的exe文件,但是使用cxfreeze打包的文件均无法在虚拟机上运行
主要是python cxfreeze-postinstall这个命令不知道为什么执行不了
附cx-freeze官方文档:
https://cx-freeze.readthedocs.io/en/latest/script.html
这里找到一篇博客,内容简述了cx_freezed的使用,该博主认为用这个方法只适用于简单的python文件打包:
https://cr8ive.cf/2018/05/20/python-7-simple-compiled-exe-example-with-cx_freeze/
以上是关于关于打包pygame遇到的相关问题的主要内容,如果未能解决你的问题,请参考以下文章
python编写游戏怎么打包——详解python+pygame游戏开发之使用Py2exe打包游戏为exe文件
python编写游戏怎么打包——详解python+pygame游戏开发之使用Py2exe打包游戏为exe文件