詳解使用PyInstaller將Pygame庫(kù)編寫的小游戲程序打包為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
安裝成功后會(huì)提示如下圖所示
2、Anaconda環(huán)境下安裝
如果是在Anaconda環(huán)境下直接打包,可能會(huì)將其中大部分?jǐn)U展都打包進(jìn)去了,造成打包后的exe文件過(guò)大,為此有以下解決方案(如果未出現(xiàn)此問(wèn)題的同學(xué)請(qǐng)?zhí)^(guò))。
建立虛擬環(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。具體過(guò)程如圖所示:
二、使用Pyinstaller打包生成exe文件
將要打包的py文件放入所創(chuàng)建的C:\Users\EDZ\Pyinstaller目錄中,將自定義程序圖標(biāo)ico文件,也一同放進(jìn)程序所在目錄程序。
介紹一下 Pyinstaller 常用的參數(shù)用法:
- -F: 表示生成單個(gè)可執(zhí)行文件
- -D:表示打包多個(gè)文件,在dist中生成很多依賴文件,
- -w:指定生成 GUI 軟件,表示去掉控制臺(tái)窗口
- -i <Icon File>: 指定打包后可執(zhí)行文件的圖標(biāo)
命令:pyinstaller -F -w -i snaker.ico retro_snaker.py
稍微等待后,如果成功則會(huì)提示successfully,如圖所示:
三、運(yùn)行生成的exe文件
打包完成后,exe程序?qū)?huì)產(chǎn)生在打包目錄的dist文件中。
如圖所示:
那么我們就可以打開并運(yùn)行你所打包的exe文件了
四、exe文件運(yùn)行中的問(wèn)題
缺少M(fèi)SVisualC++ 2015動(dòng)態(tài)庫(kù)
打開程序,報(bào)錯(cuò)提示:無(wú)法定位程序輸入點(diǎn)ucrtbase.terminate于動(dòng)態(tài)鏈接庫(kù)api-ms-win-crt-runtime-l1-1-0.dll上,如圖所示:
解決方案:安裝:Visual C++ Redistributable for Visual Studio 2015
注:下載對(duì)應(yīng)版本安裝
微軟官網(wǎng):https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145
安裝后重啟下電腦
若還不行,嘗試安裝下這個(gè)補(bǔ)?。篕B2999226
微軟官網(wǎng):https://www.microsoft.com/en-us/download/details.aspx?id=49093
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)一個(gè)帶權(quán)無(wú)回置隨機(jī)抽選函數(shù)的方法
這篇文章主要介紹了Python實(shí)現(xiàn)一個(gè)帶權(quán)無(wú)回置隨機(jī)抽選函數(shù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python實(shí)現(xiàn)多態(tài)、協(xié)議和鴨子類型的代碼詳解
問(wèn)起面向?qū)ο蟮娜筇匦裕瑤缀趺總€(gè)人都能對(duì)答如流:封裝、繼承、多態(tài)。今天我們就要來(lái)說(shuō)一說(shuō)Python實(shí)現(xiàn)多態(tài)、協(xié)議和鴨子類型,感興趣的朋友跟隨小編一起看看吧2019-05-05Python實(shí)現(xiàn)的插入排序,冒泡排序,快速排序,選擇排序算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的插入排序,冒泡排序,快速排序,選擇排序算法,結(jié)合實(shí)例形式總結(jié)分析了Python插入排序,冒泡排序,快速排序,選擇排序等算法的實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下2019-05-05在Python中將函數(shù)作為另一個(gè)函數(shù)的參數(shù)傳入并調(diào)用的方法
今天小編就為大家分享一篇在Python中將函數(shù)作為另一個(gè)函數(shù)的參數(shù)傳入并調(diào)用的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01使用Python和Scrapy實(shí)現(xiàn)抓取網(wǎng)站數(shù)據(jù)
Scrapy是一個(gè)功能強(qiáng)大的網(wǎng)絡(luò)爬蟲框架,允許開發(fā)者輕松地抓取和解析網(wǎng)站內(nèi)容,這篇文章主要為大家介紹了如何使用Python的Scrapy庫(kù)進(jìn)行網(wǎng)站數(shù)據(jù)抓取,需要的可以參考一下2023-05-05django項(xiàng)目運(yùn)行因中文而亂碼報(bào)錯(cuò)的幾種情況解決
django是一個(gè)不錯(cuò)的WEB開源框架。今天測(cè)試,發(fā)現(xiàn)有些頁(yè)面中文亂碼,后來(lái)發(fā)現(xiàn)出現(xiàn)中文亂碼還不止一種情況,所以這篇文章主要給大家介紹了關(guān)于django項(xiàng)目運(yùn)行過(guò)程中因?yàn)橹形亩鴮?dǎo)致亂碼報(bào)錯(cuò)的幾種情況的解決方法,需要的朋友可以參考下。2017-11-11