Python

PyInstaller:將 Python 應用程式打包為獨立執行檔

PyInstaller 將 Python 應用程式凍結為 Windows、macOS 和 Linux 的獨立執行檔,將所有依賴項捆綁到單一軟體包中。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
PyInstaller:將 Python 應用程式打包為獨立執行檔

Python 最大的挑戰之一是分發。使用者需要安裝 Python、管理虛擬環境並解決依賴關係,然後才能執行你的應用程式。PyInstaller 透過將 Python 應用程式凍結為可在未安裝 Python 的系統上執行的獨立執行檔來解決這個問題。

PyInstaller 分析你的 Python 腳本,發現所有匯入的模組和資料檔案,並將它們與最小的 Python 直譯器一起捆綁到單一執行檔或目錄中。結果是一個可分發的軟體包,使用者可以像任何原生應用程式一樣透過雙擊來執行。

主要功能

功能描述
跨平台為 Windows、macOS 和 Linux 建立執行檔
單一檔案模式將所有內容捆綁到單一執行檔中
自動依賴偵測尋找並包含所有匯入的模組
隱藏匯入支援針對動態匯入的手動指定
資料檔案捆綁包含圖像、配置和資源檔案

建置流程

PyInstaller 首先分析腳本以了解其依賴樹,然後將所有內容捆綁在一起。Spec 檔案為進階使用者提供了對建置各個方面的精細控制。

平台支援

平台執行檔類型大小(最小)備註
Windows.exe8-15 MB也可透過第三方工具支援 .msi
macOS.app 套件10-20 MB支援程式碼簽署以便分發
LinuxELF 二進位檔8-15 MB不需要執行時期依賴

何時使用 PyInstaller

PyInstaller 非常適合分發 GUI 應用程式、為非技術團隊提供的內部工具、部署到沒有 Python 的系統,以及建立工具的便攜版本。它並非為 Web 應用程式或服務而設計,在這些場景中伺服器端 Python 已經可用。

如需更多資訊,請造訪 PyInstaller GitHub 儲存庫官方 PyInstaller 文件

常見問題

Q:PyInstaller 能將所有內容捆綁到一個檔案中嗎? A:可以,使用 --onefile 標誌,所有內容都會被壓縮到一個執行檔中。

Q:PyInstaller 能與虛擬環境一起使用嗎? A:可以,從應用程式的虛擬環境中執行時效果最佳。

Q:防毒軟體可能會標記 PyInstaller 執行檔嗎? A:有時候會,因為執行檔包含嵌入式 Python 直譯器。程式碼簽署有助於減少誤報。

Q:PyInstaller 支援 Python 3.13 嗎? A:是的,最新版本支援 Python 3.8 到 3.13。

Q:我可以使用 PyInstaller 混淆我的 Python 程式碼嗎? A:PyInstaller 捆綁的是位元組碼而非原始碼,但它不是真正的混淆器。如需更強的保護,請與加密工具結合使用。

TAG