2022年8月26日 星期五

透過 pyinstaller 將 python程式包裝成執行檔

透過程式設計可依需求撰寫應用程式,

但是要將這個應用程式分享給別人,

使用者若沒安裝 Python 環境是無法執行的

今天就提供一種方式讓其他人也能順利執行

透過 pyinstaller 將 python程式包裝成執行檔

眾所皆知在系統中檔案分為許多類型,

而副檔名 .exe 的檔案在 windows系統中表示可執行,

故 python 程式只要包裝成執行檔,

即便使用者沒有 Python 環境也能夠執行程式。

首先第一件事要安裝套件

pip install pyinstaller

pyinstaller 生成的執行檔與當時的作業系統是相依的,

也就是在 windows環境下產生的執行檔就只能在 windows環境下執行,

官方宣稱支援 windows 8 以上的環境,

安裝完畢想確認是否安裝成功可查詢下版號

pyinstaller --version


要將 Python 程式包裝成執行檔的方式也很簡單,

僅須執行 

pyinstaller -F 目標.py

若程式有許多檔案,就得先執行

pyi-makespec main.py

系統會產生 main.spec (可檢查下是否將所有檔案或組件放置在此檔案中)

再執行

pyinstaller main.spec 

就可產生多文件的執行檔案


若是想在這個執行檔中加入版本資訊,

可先找到一個有版本資訊的執行檔產生範例

pyi-grab_version "python.exe" "version_info.txt"

如底下範例是直接以 python.exe作為範例產生版本的範例檔案


基本上此檔案的內容如下,

將各個欄位的值修改為想顯示的資訊即可


接著以參數 --version-file 將此範例資訊檔 加入 pyinstaller 即可

pyinstaller --version-file= version_info.txt -F company_check.py

以此命令產生的執行檔就可在詳細資料頁面中找到修改的資訊


若要為這個應用程式加上圖示,

可使用  -i test.ico  將其加入上方的命令即可,

若想為已經是執行檔的程式加入版本,可執行:

pyi-set_version version_info.txt myapp.exe

就可以將版本號碼加入 myapp.exe中

以上就是今天的主題

透過 pyinstaller 將 python程式包裝成執行檔



沒有留言: