Python 獨立應用程式

GraalPy 讓您能夠建立 Python 應用程式或程式庫,作為沒有外部相依性的原生應用程式或 JAR 檔案。GraalPy 建構於 Truffle 框架之上,並結合 GraalPy 用於管理執行 Python 原生擴充功能的 Sulong LLVM 執行時,完全虛擬化所有檔案系統存取,包括標準程式庫和已安裝套件的存取。

GraalPy 包含一個名為 standalone 的模組,可為 Linux、macOS 和 Windows 建立 Python 二進位檔。此模組將您應用程式的所有資源捆綁到單一檔案中。

先決條件:GraalPy 發行版本必須為 23.1.0 或更高版本。請參閱 GraalPy 發行版本

例如,如果您想要從名為 my_script.py 的 Python 檔案產生原生可執行檔,連同您安裝在名為 my_venv 的虛擬環境中的套件,請執行以下指令

graalpy -m standalone native \
      --module my_script.py \
      --output my_binary \
      --venv my_env

這會產生一個原生 my_binary 檔案,其中包含您的 Python 程式碼、GraalPy 執行時,以及 Python 標準程式庫,並以單一、獨立的可執行檔呈現。使用 graalpy -m standalone native --help 查看其他選項。

安全考量 #

建立包含 Python 程式碼的原生可執行檔或 JAR 檔案可以視為一種輕微的混淆形式,但它無法保護您的原始程式碼。Python 原始程式碼不會逐字儲存在可執行檔中(只儲存 GraalPy 位元組碼),但是位元組碼很容易轉換回 Python 原始程式碼。

與我們聯繫