如何將Python腳本打包成exe應(yīng)用程序介紹
前言
我們有時候會編寫Python腳本來輔助我們執(zhí)行一些重復(fù)的操作。但是這些腳本在實際使用中會有一些不方便:
我們通常需要進入終端或者IDE中來運行腳本(當(dāng)然,有辦法可以實現(xiàn)雙擊腳本文件直接運行,但這不在今天的討論范圍內(nèi))。
如果把腳本遷移至其他電腦上,那么Python環(huán)境變化,比如新電腦上沒有安裝Python,或者缺乏該腳本所調(diào)用的包等,腳本有很大概率無法正常運行。
這時候,我們可以將腳本打包成一個可以獨立運行的應(yīng)用程序,點開即用,解決上述問題。第三方包Pyinstaller可以實現(xiàn)將Python腳本打包成.exe格式的應(yīng)用程序,現(xiàn)在以一個例子來介紹使用方法。
首先介紹一下開發(fā)的環(huán)境。
按照開發(fā)習(xí)慣,我們的Python腳本在虛擬環(huán)境中開發(fā)。
項目的路徑:D:\myProject\
虛擬環(huán)境路徑:D:\myProject\virtualEnvironment\
腳本存放路徑:D:\myProject\code\
首先在VS code中運行腳本看看效果。這個腳本可以生成一個科研軟件所需的csv格式數(shù)據(jù),具有一個簡單的GUI界面,方便用戶設(shè)置生成內(nèi)容。
我們要做的就是將.py格式、需要依賴開發(fā)環(huán)境的腳本文件打包成一個可以獨立運行的.exe格式應(yīng)用程序。
安裝Pyinstaller
腳本在虛擬環(huán)境中開發(fā),因此我們也在這個虛擬環(huán)境中安裝Pyinstaller。保險起見,在終端中強制采用虛擬環(huán)境中的pip來安裝:
D:\myProject\virtualEnvironment\Scripts\python -m pip install pyinstaller
安裝完成之后,在虛擬環(huán)境中“Scripts”目錄下可以看到一些新增的應(yīng)用程序,其中pyinstaller.exe就是用于打包腳本的。
將腳本打包成exe應(yīng)用程序
使用Pyinstaller將Python腳本打包成exe應(yīng)用程序,最基礎(chǔ)的命令是:
pyinstaller codeName.py
為了提高打包成功率,讓打包過程更加清晰可控,我推薦以下步驟。
首先打開一個終端,cd至保存exe應(yīng)用程序的目錄。例如,我們在項目目錄中新建一個“exe”文件夾,并cd至此:
cd D:\myProject\exe\
然后命令pyinstaller對腳本進行打包:
D:\myProject\virtualEnvironment\Scripts\pyinstaller -F D:\myProject\code\myScript.py
在上述指令中,
D:\myProject\virtualEnvironment\Scripts\pyinstaller是pyinstaller的完整路徑。
D:\myProject\code\myScript.py是被打包的Python腳本的完整路徑。
D:\myProject\exe\是存放生成的exe應(yīng)用程序的目錄。
打包過程是清晰明確的。
打包完成后,我們查看D:\myProject\exe\目錄,可以看到一些新建的文件夾,進入D:\myProject\exe\dist目錄,可以看到生成的myScript.exe應(yīng)用程序。
雙擊應(yīng)用程序,腳本成功啟動。
這樣,腳本所需的環(huán)境已經(jīng)被打包至.exe程序中,腳本的運行將不再需要依賴外部的Python開發(fā)環(huán)境了。將myScript.exe拷貝至另一臺電腦,即使電腦未安裝Python,腳本也可以順利啟動。
Python腳本有時候需要調(diào)用外部文件,這會涉及到“根目錄”和“相對路徑”的問題。經(jīng)過實測,當(dāng)我們把腳本打包成exe應(yīng)用程序時,exe應(yīng)用程序所在的目錄即為“根目錄”。
進階:消除命令窗口、自定義圖標(biāo)
以上操作所打包生成的exe應(yīng)用程序在啟動時會打開一個黑色的命令窗口,不美觀,我們可以在執(zhí)行打包命令時添加 -w 來消除這個命令窗口:
D:\myProject\virtualEnvironment\Scripts\pyinstaller -F -w D:\myProject\code\myScript.py
這樣生成的exe應(yīng)用程序在啟動時就不會有這個黑色的命令窗口了。
另外,生成的exe應(yīng)用程序的圖標(biāo)亦可自定義,支持.ico格式的圖標(biāo)文件。在執(zhí)行打包命令時添加-i來指定圖標(biāo)文件即可:
D:\myProject\virtualEnvironment\Scripts\pyinstaller -F -w -i D:\myProject\myIcon.ico D:\myProject\code\myScript.py
這樣生成的exe應(yīng)用程序的圖標(biāo)就是我們自定義的圖標(biāo)了。
總結(jié)
到此這篇關(guān)于如何將Python腳本打包成exe應(yīng)用程序介紹的文章就介紹到這了,更多相關(guān)Python打包成exe內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
簡單了解python gevent 協(xié)程使用及作用
這篇文章主要介紹了簡單了解python gevent 協(xié)程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07通過LyScript實現(xiàn)從文本中讀寫ShellCode
LyScript 插件通過配合內(nèi)存讀寫,可實現(xiàn)對特定位置的ShellCode代碼的導(dǎo)出。本文將利用這一特性實現(xiàn)從文本中讀寫ShellCode,感興趣的可以了解一下2022-08-08Python集成開發(fā)工具Pycharm的安裝和使用詳解
這篇文章主要介紹了Python集成開發(fā)工具Pycharm的安裝和使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Python標(biāo)準(zhǔn)庫使用OrderedDict類的實例講解
今天小編就為大家分享一篇關(guān)于Python標(biāo)準(zhǔn)庫使用OrderedDict類的實例講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02pytorch打印網(wǎng)絡(luò)結(jié)構(gòu)的實例
今天小編就為大家分享一篇pytorch打印網(wǎng)絡(luò)結(jié)構(gòu)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08淺談Python中進程的創(chuàng)建與結(jié)束
這篇文章主要介紹了淺談Python中進程的創(chuàng)建與結(jié)束,但凡是硬件,都需要有操作系統(tǒng)去管理,只要有操作系統(tǒng),就有進程的概念,就需要有創(chuàng)建進程的方式,需要的朋友可以參考下2023-07-07