目錄
一、更新pip和pygame
二、安裝pyinstaller
三、用pyinstaller打包游戲
四、未解決的問題(使用了cxfreeze方法打包程式)
①方法一
②方法二
③方法三
一、更新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/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/294053.html
標籤:其他
上一篇:pygame中文亂碼問題
