您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何使用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文件的方法。
環(huán)境:python3.6、window10
注意事項(xiàng):
python64位版本打包的exe,只能在64位操作系統(tǒng)使用
打包文件夾和文件的名稱不能用中文
pygame打包是里面的字體要改成"arial"格式。 pygame.font.SysFont("宋體", 32) 32) 換成 pygame.font.SysFont('arial',32)
pip命令安裝:pip install Pyinstaller
安裝成功后會提示如下圖所示
如果是在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。具體過程如圖所示:
將要打包的py文件放入所創(chuàng)建的C:\Users\EDZ\Pyinstaller目錄中,將自定義程序圖標(biāo)ico文件,也一同放進(jìn)程序所在目錄程序。
介紹一下 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,如圖所示:
打包完成后,exe程序?qū)a(chǎn)生在打包目錄的dist文件中。
如圖所示:
那么我們就可以打開并運(yùn)行你所打包的exe文件了
缺少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
上,如圖所示:
解決方案:安裝: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í)!
免責(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)容。