版本
- 適用於 JDK 23 的 GraalVM (最新)
- 適用於 JDK 24 的 GraalVM (搶先體驗)
- 適用於 JDK 21 的 GraalVM
- 適用於 JDK 17 的 GraalVM
- 封存
- 開發組建
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 原始程式碼。