版本
- 适用于 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 二进制文件。该模块将您应用程序的所有资源捆绑到一个文件中。
先决条件:从版本 23.1.0 开始的 GraalPy 发行版。请参阅 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 源代码。