“如何將Python/ target=_blank class=infotextkey>Python腳本轉(zhuǎn)換為.exe文件?” 每個python開發(fā)人員在想與外部共享他們開發(fā)的python應(yīng)用程序時都會問這個問題。在此博客中,我們將詳細(xì)介紹如何使用python模塊(即pyinstaller)將python程序轉(zhuǎn)換為可執(zhí)行文件。
為什么不能共享.Py文件?
使用python開發(fā)時,我們會安裝許多軟件包并在程序中使用它們,這些已安裝的軟件包存在于我們的開發(fā)環(huán)境中。
當(dāng)我們將python文件共享給另一臺計(jì)算機(jī)時,要使該python程序在該計(jì)算機(jī)上運(yùn)行,?應(yīng)提供相同的軟件包。
安裝所有軟件包的一種簡單方法是使用requirements.txt文件,該文件包含該python程序運(yùn)行所需的所有已安裝軟件包的列表。
填寫requirements.txt文件
此命令應(yīng)在python開發(fā)人員的開發(fā)環(huán)境中執(zhí)行。
填寫requirements.txt文件
從requirements.txt文件安裝軟件包
該命令應(yīng)在要安裝python軟件包的計(jì)算機(jī)上執(zhí)行,以運(yùn)行共享的.py文件。
從requirements.txt文件安裝軟件包
但是,如果開發(fā)人員不想共享requirenments.txt文件,而仍然希望在另一臺計(jì)算機(jī)上運(yùn)行該開發(fā)的應(yīng)用程序,該怎么辦?
當(dāng)我們將python腳本文件(.py)轉(zhuǎn)換為可執(zhí)行文件(.exe)時,可以解決此問題。
獲得的可執(zhí)行文件可以在windows平臺上運(yùn)行,并且包含運(yùn)行python程序所需的所有軟件包。
什么是Pyinstaller?
Pyinstaller是一個python軟件包,它將Python應(yīng)用程序及其所有模塊/依賴項(xiàng)捆綁到一個軟件包中。
這使用戶更輕松地完成任務(wù),因?yàn)橛脩艨梢栽诓话惭bPython解釋器或計(jì)算機(jī)上任何模塊的情況下運(yùn)行捆綁的應(yīng)用程序。
Pyinstaller還支持許多python庫,例如NumPy、PyQt、Django、wxPython等。
使用pip安裝Pyinstaller
為了將python文件轉(zhuǎn)換為.exe文件,我們將使用python軟件包,即pyinstaller。
使用pip安裝Pyinstaller
這將在機(jī)器上安裝pyinstaller,我們可以使用它將python程序轉(zhuǎn)換為.exe文件。
將python轉(zhuǎn)換為exe文件
命令行格式
打開終端,更改“ .py ”文件所在的目錄,然后執(zhí)行以下命令。
運(yùn)行pyinstaller
讓我們看看上面的命令執(zhí)行什么:
- yourprogram.spec 與腳本寫入同一目錄。
- 創(chuàng)建一個文件夾建立在同一個文件夾,如果它不存在的腳本。
- 將日志文件和工作文件寫入build文件夾。
- 如果腳本不存在,則在與腳本相同的文件夾中創(chuàng)建文件夾dist 。
- 將yourprogram可執(zhí)行文件文件夾寫入dist文件夾。
所述dist文件夾中包含的應(yīng)用程序捆綁和一個可執(zhí)行文件(.exe文件捆綁的應(yīng)用程序文件夾中)的文件。
當(dāng)您運(yùn)行.exe文件時,您將獲得與從python解釋器運(yùn)行時相同的輸出。
這里的一個問題是,仍然不能單獨(dú)共享.exe文件,因?yàn)橐\(yùn)行該.exe文件,需要有很多依賴文件。
Pyinstaller為我們提供了各種標(biāo)志,可幫助我們修改捆綁的應(yīng)用程序。
Pyinstaller OneFile標(biāo)志將Python文件轉(zhuǎn)換為.exe
OneFile
該命令將在dist文件夾中創(chuàng)建一個沒有任何依賴關(guān)系的可執(zhí)行文件,因?yàn)橛捎?ndash;onefile標(biāo)志,所有依賴文件都捆綁在.exe文件中。
如果您的python程序是GUI應(yīng)用程序,則您會注意到首先打開了一個控制臺窗口,幾秒鐘后GUI應(yīng)用程序啟動了,這對用戶體驗(yàn)不利。
這個問題可以通過 -w 選項(xiàng)使用來解決。
onefile選項(xiàng)
設(shè)置.exe的Pyinstaller圖標(biāo)
默認(rèn)情況下,Pyinstaller將為獲得的可執(zhí)行文件提供python外觀,為了更改可執(zhí)行文件的默認(rèn)圖標(biāo),您將必須設(shè)置-i / –icon標(biāo)志。
該-i / -icon標(biāo)志取路徑.ICO圖標(biāo)圖像文件。
設(shè)置.exe的Pyinstaller圖標(biāo)
此命令將使用您的自定義圖標(biāo)創(chuàng)建一個獨(dú)立的可執(zhí)行文件。