【建置環境說明】
我的開發環境是win11,python是3.10.7版本,編碼的工具是Visual Studio Code(簡稱vscode)。
【打包前提說明】
☆☆其實 PyInstaller 有兩種打包方式,第一種是【直接用命令打包(不用編輯 .spec文件)】,第二種是【編輯.spec文件客製化打包】(可參考本篇:使用PyInstaller打包成可在Windows執行的.exe檔),今天介紹使用第一種,打包過程大約幾分鐘,比之前分享的方式更快速又簡化。我使用 Python + PyQt5 開發程式,該程式取名為 AnyNote ,是一款極簡的便利貼應用程式,可支援多個便利貼、字體切換、顏色樣板與自動儲存筆記、開機自動讀取功能,在我的專案資料夾裡有main.py、icon.png(作為程式圖示)及fonts資料夾(裡面有字體檔案)。

▲說明:專案資料夾目錄(C:\Users\使用者名稱\Desktop\python\project\PyQt5\AnyNote)
【本篇說明】
首先,需先安裝 PyInstaller這個工具,如果已經安裝過了,就執行更新,可在命令提示字元(CMD)、PowerShell 或是 VSCode 終端機輸入以下指令:
pip install pyinstaller 或 pip install --upgrade pyinstaller

▲說明:我是使用 VSCode 終端機輸入更新指令
接下來,依照以下選擇其中一個你習慣的方法輸入打包命令:
【方法1】在 VSCode 終端機直接輸入以下指令
pyinstaller --noconsole --onefile --icon=icon.png --add-data "fonts;fonts" --add-data "icon.png;." --add-data "backup;backup" main.py
【方法2】用 PowerShell 輸入並使用換行符號(反引號 `)
pyinstaller --noconsole --onefile --icon=icon.png `
--add-data "fonts;fonts" `
--add-data "icon.png;." `
--add-data "backup;backup" `
main.py
【方法3】用命令提示字元(CMD)輸入
pyinstaller --noconsole --onefile --icon=icon.png ^
--add-data "fonts;fonts" ^
--add-data "icon.png;." ^
--add-data "backup;backup" ^
main.py
【參數說明】
1.--noconsole : 打包成 GUI 應用,不會跳出黑色的命令提示字元
2.--onefile : 打包成單一的 exe
3.--icon=icon.ico : 設定應用程式圖示
4.--add-data "來源;目標"
5."fonts;fonts" : 把本機 fonts 資料夾打包到 exe 內,解壓到臨時資料夾( _MEIPASS )的 fonts/
6."icon.ico;." : 把 icon.ico 放在程式根目錄
7."backup;backup" : 打包一個空的 backup 資料夾(如果本機已有備份檔案,也會一起打包進去),解壓到使用者存取資料路徑裡 backup 資料夾

▲說明:我是使用 VSCode 終端機輸入指令
就只要這樣!打包完成後在我的專案資料夾會產生 dist資料夾,裡面有 exe檔

▲說明:終端機會出現打包完成的訊息

▲說明:打包完成的exe 檔出現在 dist\ main.exe資料夾內
【本篇小結】
如果有多個檔案合併到同一個目錄結構裡,或是打包多個 entry points(多個 .py 生成多個 exe),可另外使用.spec文件來執行打包,若是像我一樣的打包情境(資料存取簡單、程式資源不多),就可以使用本篇方式,會發現到打包也可以這麼簡易又快速。
【本篇結束】
在自學路上遇到困難是很正常的事,只要堅持到底,相信就會有所成果,期勉大家一同努力。














