溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用PyInstaller將Pygame庫編寫的小游戲程序打包為exe文件

發(fā)布時(shí)間:2021-08-04 09:22:09 來源:億速云 閱讀:837 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了如何使用PyInstaller將Pygame庫編寫的小游戲程序打包為exe文件,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

下面看下通過Pyinstaller打包Pygame庫寫的小游戲程序出現(xiàn)的問題解決方法

# -基于Python的Pygame庫的GUI游戲

游戲內(nèi)容是通過飛船發(fā)射子彈來射擊外星人
空格鍵為開火,左右方向鍵移動(dòng),并設(shè)立了
不同關(guān)卡。

使用說明:

開發(fā)環(huán)境,游戲直接運(yùn)行alien_invasion.exe即可,也可在具有Python3環(huán)境下運(yùn)行alien_invasion.py

練習(xí)環(huán)境:

Python:3.5.4 64位
pyinstall:3.3.1
pyinstall使用:
pyinstaller -F demo.py
參數(shù)  含義
-F  指定打包后只生成一個(gè)exe格式的文件
-D  –onedir 創(chuàng)建一個(gè)目錄,包含exe文件,但會依賴很多文件(默認(rèn)選項(xiàng))
-c  –console, –nowindowed 使用控制臺,無界面(默認(rèn)選項(xiàng))
-w  –windowed, –noconsole 使用窗口,無控制臺
-p  添加搜索路徑,讓其找到對應(yīng)的庫。
-i  改變生成程序的icon圖標(biāo)

打包注意事項(xiàng):

1.打包有2種方式:

  •     第一種是使用'-F'打包成單一的可執(zhí)行文件,如alien_invasion.exe,此項(xiàng)目需要將

  •       images文件夾放置在與其同一目錄下;

  •     第二種是默認(rèn)使用'-D'方式,(但是我打包完成后無法運(yùn)行,打包時(shí)經(jīng)常出現(xiàn)“hidden import “pygame._view”not found”)

2.打包的文件與《Python編程:從入門到實(shí)踐》練習(xí)的項(xiàng)目文件有所差異,具體為
   button.py與scoreboard.py中的字體做了改動(dòng),由
        'pygame.font.SysFont(None, 48)'=>'pygame.font.SysFont('arial', 36)'

3.使用pyinstaller打包時(shí),不會自動(dòng)包含圖片文件,所以最簡單的方式是打包后將圖片放在運(yùn)行程序的
  相應(yīng)路徑下。

?。?!打包完畢后一定要講你的素材images放在exe目錄里面,以便exe文件能夠鏈接到你的素材。

PS:指定dist生成目錄路徑(而不是命令行當(dāng)前目錄)

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

接著介紹下使用PyInstaller將Pygame庫編寫的小游戲程序打包為exe文件的方法。

一、安裝Pyinstaller

環(huán)境:python3.6、window10

注意事項(xiàng):

  • python64位版本打包的exe,只能在64位操作系統(tǒng)使用

  • 打包文件夾和文件的名稱不能用中文

  • pygame打包是里面的字體要改成"arial"格式。 pygame.font.SysFont("宋體", 32) 32)  換成 pygame.font.SysFont('arial',32)

1、直接安裝

pip命令安裝:pip install Pyinstaller

安裝成功后會提示如下圖所示

如何使用PyInstaller將Pygame庫編寫的小游戲程序打包為exe文件

2、Anaconda環(huán)境下安裝

如果是在Anaconda環(huán)境下直接打包,可能會將其中大部分?jǐn)U展都打包進(jìn)去了,造成打包后的exe文件過大,為此有以下解決方案(如果未出現(xiàn)此問題的同學(xué)請?zhí)^)。

  • 建立虛擬環(huán)境 :pipenv install

  • 進(jìn)入虛擬環(huán)境:pipenv shell

  • 安裝所需模塊 pip install pygame

  • 打包的模塊也要安裝 pip install pyinstaller

本人在C:/Users/EDZ/目錄中新建Pyinstaller文件,首先進(jìn)入目錄,建立虛擬環(huán)境,進(jìn)入虛擬環(huán)境,最后安裝程序所需的安裝模塊以及pyinstaller。具體過程如圖所示:

如何使用PyInstaller將Pygame庫編寫的小游戲程序打包為exe文件

如何使用PyInstaller將Pygame庫編寫的小游戲程序打包為exe文件

二、使用Pyinstaller打包生成exe文件

將要打包的py文件放入所創(chuàng)建的C:\Users\EDZ\Pyinstaller目錄中,將自定義程序圖標(biāo)ico文件,也一同放進(jìn)程序所在目錄程序。

如何使用PyInstaller將Pygame庫編寫的小游戲程序打包為exe文件

如何使用PyInstaller將Pygame庫編寫的小游戲程序打包為exe文件

介紹一下 Pyinstaller 常用的參數(shù)用法:

  • -F: 表示生成單個(gè)可執(zhí)行文件

  • -D:表示打包多個(gè)文件,在dist中生成很多依賴文件,

  • -w:指定生成 GUI 軟件,表示去掉控制臺窗口

  • -i <Icon File>: 指定打包后可執(zhí)行文件的圖標(biāo)

命令:pyinstaller -F -w -i snaker.ico retro_snaker.py

稍微等待后,如果成功則會提示successfully,如圖所示:

如何使用PyInstaller將Pygame庫編寫的小游戲程序打包為exe文件

三、運(yùn)行生成的exe文件

打包完成后,exe程序?qū)a(chǎn)生在打包目錄的dist文件中。

如圖所示:

如何使用PyInstaller將Pygame庫編寫的小游戲程序打包為exe文件

如何使用PyInstaller將Pygame庫編寫的小游戲程序打包為exe文件

那么我們就可以打開并運(yùn)行你所打包的exe文件了

如何使用PyInstaller將Pygame庫編寫的小游戲程序打包為exe文件

四、exe文件運(yùn)行中的問題 

缺少M(fèi)SVisualC++ 2015動(dòng)態(tài)庫

打開程序,報(bào)錯(cuò)提示:無法定位程序輸入點(diǎn)ucrtbase.terminate于動(dòng)態(tài)鏈接庫api-ms-win-crt-runtime-l1-1-0.dll上,如圖所示:

如何使用PyInstaller將Pygame庫編寫的小游戲程序打包為exe文件

 解決方案:安裝:Visual C++ Redistributable for Visual Studio 2015

注:下載對應(yīng)版本安裝
微軟官網(wǎng):https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145

安裝后重啟下電腦

若還不行,嘗試安裝下這個(gè)補(bǔ)丁:KB2999226

微軟官網(wǎng):https://www.microsoft.com/en-us/download/details.aspx?id=49093

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何使用PyInstaller將Pygame庫編寫的小游戲程序打包為exe文件”這篇文章對大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI