Python PyInstaller 安裝與使用:將你的程式打包成可執行檔

PyInstaller 是一個強大且廣泛使用的工具,可以將您的 Python 腳本轉換為獨立的可執行檔案,讓您能輕鬆分享程式給不具備 Python 環境的使用者。以下是詳細的安裝與使用教學,幫助讀者快速上手。


安裝 PyInstaller

要開始使用 PyInstaller,您需要先在您的 Python 環境中安裝它。以下是安裝步驟:

  1. 開啟命令提示字元或終端機。

  2. 輸入以下指令來安裝 PyInstaller:

    pip install pyinstaller
    
    
  3. 等待安裝完成,您可以透過以下指令確認是否安裝成功:

    pyinstaller --version
    
    

安裝完成後,您就可以開始使用 PyInstaller 來打包您的 Python 程式。


使用 PyInstaller 打包 Python 程式

PyInstaller 的基本操作非常簡單,只需幾個步驟即可將您的 Python 腳本轉換為可執行檔案。以下是具體流程:

  1. 導航到腳本目錄: 在命令提示字元或終端機中,切換到您的 Python 腳本所在的目錄。例如,若您的腳本位於 C:\\Projects\\MyApp,則輸入:

    cd C:\\Projects\\MyApp
    
    
  2. 執行打包指令: 假設您的主程式檔案名為 main.py,您可以使用以下指令將其打包成單一的可執行檔案:

    pyinstaller --onefile main.py
    
    
    • -onefile:這個選項會將所有依賴項和腳本打包成一個單獨的可執行檔案,方便分發。
    • main.py:這是您想要打包的 Python 腳本檔案名稱。
  3. 檢查輸出結果: 打包完成後,PyInstaller 會在當前目錄下建立一個 dist 資料夾。您可以在 dist 資料夾中找到生成的可執行檔案,例如 main.exe(Windows 系統)或 main(Linux/macOS 系統)。


PyInstaller 的進階選項

除了基本的打包功能,PyInstaller 還提供了多種選項,讓您可以進一步自訂生成的可執行檔案。以下是一些常用的選項:

  • 為應用程式新增圖標: 如果您希望為您的可執行檔案設定自訂圖標,可以使用 -icon 選項:

    pyinstaller --onefile --icon=app.ico main.py
    
    

    其中 app.ico 是您準備好的圖標檔案(Windows 系統支援 .ico 格式,macOS 支援 .icns 格式)。

  • 隱藏控制台視窗: 如果您的程式是圖形化介面(GUI)應用程式,您可能不希望在執行時顯示命令列視窗。此時可以使用 -noconsole 選項:

    pyinstaller --onefile --noconsole main.py
    
    
  • 指定輸出名稱: 若您希望自訂輸出檔案的名稱,可以使用 n-name 選項:

    pyinstaller --onefile -n MyApp main.py
    
    

    這樣生成的可執行檔案將命名為 MyApp.exe

  • 包含額外檔案或資料: 若您的程式需要外部檔案(例如圖片、設定檔等),可以使用 -add-data 選項將其打包進可執行檔案:

    pyinstaller --onefile --add-data "images/logo.png;images" main.py
    
    

    上述指令會將 images/logo.png 檔案打包進可執行檔案,並在程式中可透過相對路徑 images/logo.png 存取。


注意事項

在使用 PyInstaller 時,有幾點需要特別留意,以確保打包過程順利且生成的可執行檔案能正常運作:

  • 確認依賴項完整:PyInstaller 會自動偵測並打包程式所需的模組,但有時可能無法正確識別某些動態載入的模組。請確保您的 Python 環境中已安裝所有必要的依賴項,並在打包後測試程式是否正常運作。
  • 跨平台測試:如果您計畫在不同作業系統上分發程式,建議在目標平台上測試可執行檔案,因為某些模組或功能可能有平台相依性。
  • 檔案大小:使用 -onefile 選項打包的檔案通常會比較大,因為所有依賴項都包含在單一檔案中。若檔案大小是問題,可考慮不使用 -onefile,讓 PyInstaller 生成包含多個檔案的資料夾結構。
  • 防毒軟體誤報:某些防毒軟體可能將 PyInstaller 生成的可執行檔案誤判為潛在威脅。這是因為 PyInstaller 的打包機制類似某些惡意軟體的行為。若遇到此問題,可考慮對檔案進行數位簽名或告知使用者相關情況。

學習 PyInstaller 的心智圖

為了幫助您更系統化地學習 PyInstaller,我整理了一份簡單的心智圖,方便您快速掌握其核心概念與操作流程:

graph LR
    A[PyInstaller 學習] --> B[安裝]
    A --> C[基本打包]
    A --> D[進階選項]
    A --> E[注意事項]

    B --> B1[pip install pyinstaller]
    B --> B2[確認版本: pyinstaller --version]

    C --> C1[導航到腳本目錄]
    C --> C2[指令: pyinstaller --onefile main.py]
    C --> C3[檢查 dist 資料夾輸出]

    D --> D1[自訂圖標: --icon]
    D --> D2[隱藏控制台: --noconsole]
    D --> D3[自訂名稱: -n/--name]
    D --> D4[新增資料: --add-data]

    E --> E1[確認依賴項完整]
    E --> E2[跨平台測試]
    E --> E3[檔案大小考量]
    E --> E4[防毒軟體誤報問題]

總結

PyInstaller 是一個非常實用的工具,讓 Python 開發者能輕鬆將程式打包成獨立的可執行檔案,方便分享與部署。透過本文的介紹,您應該已經了解如何安裝 PyInstaller、執行基本打包操作,以及使用進階選項來自訂輸出檔案。記得在打包後進行充分測試,以確保程式在不同環境下都能正常運作。

如果您有其他關於 PyInstaller 或 Python 程式開發的問題,歡迎留言與我討論!希望這篇文章對您的學習與工作有所幫助。


參考來源

發佈留言