面向 Java 的高性能嵌入式 Python 3 运行时
1. 优势特性
1.1 Python for Java
在 Java 中直接加载和使用 Python 包
1.2 Python 3 兼容
与众多 Python 包兼容,包括流行的 AI 和数据科学库
1.3 JVM 上最快的 Python
Graal JIT 将 Python 编译为原生代码速度
1.4 JVM 上的现代 Python
GraalPy 为 Jython 用户提供升级路径
1.5 用 Python 为 Java 编写脚本
使用与 Java 互操作的 Python 脚本扩展应用程序
1.6 简单分发
使用 GraalVM Native Image 将 Python 应用程序打包为单个二进制文件
2. 如何开始
您可以选择使用 Python 扩展您的 Java 应用程序,或者直接使用启动项目
2.1. 从 Maven Central 添加 GraalPy 作为依赖项
<dependency>
<groupId>org.graalvm.polyglot</groupId>
<artifactId>polyglot</artifactId>
<version>25.0.0</version>
</dependency>
<dependency>
<groupId>org.graalvm.polyglot</groupId>
<artifactId>python</artifactId>
<version>25.0.0</version>
<type>pom</type>
</dependency>
或者
implementation("org.graalvm.polyglot:polyglot:25.0.0")
implementation("org.graalvm.polyglot:python:25.0.0")
2.2. 在 Java 中嵌入 Python 代码
import org.graalvm.polyglot.Context;
try (Context context = Context.create()) {
context.eval("python", "print('Hello from GraalPy!')");
}
2.3. 为额外的 Python 包添加 GraalPy 插件(可选)
<plugin>
<groupId>org.graalvm.python</groupId>
<artifactId>graalpy-maven-plugin</artifactId>
<version>25.0.0</version>
<executions>
<execution>
<configuration>
<packages>
<!-- 选择要通过 pip 安装的 Python 包。 -->
<package>pyfiglet==1.0.2</package>
</packages>
</configuration>
<goals>
<goal>process-graalpy-resources</goal>
</goals>
</execution>
</executions>
</plugin>
或者
plugins {
id("org.graalvm.python") version "25.0.0"
}
graalPy {
packages = setOf("pyfiglet==1.0.2")
}
3. 指南
在 Java SE 应用程序中使用 Maven 或 Gradle 与 GraalPy
使用 GraalPy Maven 插件安装 Python 原生扩展