Select Page
Nuitka GUI 入門指南:Python 封裝成 exe,小白友善介面快速搞定

Nuitka GUI 入門指南:Python 封裝成 exe,小白友善介面快速搞定

Views: 138

當你在開發 Python 時,將程式轉換為可執行檔案(如 .exe)並提升執行效率是許多開發者關心的議題,Nuitka 是一款大家都推薦的 Python 編譯器,能夠將 Python 原始碼編譯為 C 語言,進而生成高效的可執行檔案​,今天來介紹 Nuitka 的安裝、封裝流程、靜態檔案,與相依套件的處理,以及常見問題與性能優化建議,讓即使是初學者也能輕鬆上手。​

1. 安裝與執行封裝

安裝 Nuitka

  1. 安裝 C++ 編譯器:​Nuitka 需要 C++ 編譯器來編譯生成的 C 程式碼。在 Windows 系統上,推薦安裝 MinGW64。
  2. 安裝 Nuitka:​使用 pip 安裝 Nuitka:

執行封裝

假設您的主程式為 main.py,可以使用以下命令將其封裝為可執行檔案:

nuitka --standalone --mingw64 --enable-plugins=tk-inter --disable-console --remove-output --onefile --output-dir=output main.py

上述命令的參數說明:

  • --standalone:​生成獨立的可執行檔案,包含所有相依套件。​
  • --mingw64:​使用 MinGW64 作為編譯器。
  • --enable-plugins=tk-inter:​啟用 tkinter 插件,根據實際使用的套件啟用相應插件。​
  • --disable-console:​隱藏執行時的控制台視窗,適用於 GUI 應用程式。​
  • --remove-output:​在編譯完成後移除中間產物。​
  • --output-dir=output:​指定輸出目錄為 output
  • –onefile:如果希望輸出為單一 .exe 檔案

如果是要用 Visual Studio C++ 來封裝的話可以改用

nuitka --standalone --msvc=latest --enable-plugins=tk-inter --disable-console --remove-output --output-dir=output main.py

2.靜態檔案的處理

在某些應用中,可能需要包含額外的靜態檔案(如圖片、配置檔案)。​Nuitka 提供了 --include-data-dir 參數來處理這些檔案:

此命令將當前目錄下的 static 資料夾包含到生成的可執行檔案中,並在執行時可正常訪問。

3.相依套件的處理

Nuitka 會自動檢測並包含大多數的相依套件。​然而,對於某些特殊的套件,可能需要手動啟用相應的插件。​例如,若您的程式使用了 PySide6,則需要在編譯時啟用該插件:

您可以使用 nuitka --plugin-list 命令查看所有可用的插件列表。

4.常見問題的處理

Nuitka 在首次編譯大型專案時可能需要較長時間。​為了加快編譯速度,可以安裝 ccache 來進行編譯快取。

由於 Nuitka 會將所有相依套件包含在內,生成的可執行檔案可能較大。​可以嘗試使用 --onefile 參數將所有內容打包成單一檔案,或使用壓縮工具對生成的檔案進行壓縮。

5.關於速度的優化

Nuitka 通過將 Python 程式編譯為 C 語言,通常能提升程式的執行效率。​然而,實際的性能提升取決於程式的結構和內容。​為了獲得最佳性能,建議:​

  • 優化原始碼:​確保程式碼中沒有不必要的計算和冗餘。​
  • 使用內建函數:​盡可能使用 Python 的內建函數,因為它們通常經過高度優化。​
  • 避免過度使用動態特性:​如 evalexec 等,這些可能影響編譯器的優化能力。

6.🌟使用 Nuitka GUI 友善介面

因為既指令很麻煩,推薦使用 Nuitka GUI,這是一款直覺且操作簡單的圖形介面工具。

Nuitka 官方 GUI 安裝:

開啟 Nuitka GUI:

或是用開源的 GUI

https://github.com/271374667/NuitkaGUI

參考資料

https://nuitka.net