用于 Java 的高性能可嵌入 Python 3 运行时

Python icon

优势

access icon

Java 上的 Python

直接在 Java 中加载和使用 Python 包
compatibility icon

兼容 Python 3

兼容许多 Python 包,包括流行的 AI 和数据科学库
speed icon

JVM 上最快的 Python

Graal JIT 编译 Python 以获得原生代码速度
upgrade icon

JVM 上的现代 Python

code icon

用 Python 编写 Java 脚本

使用与 Java 交互的 Python 脚本扩展应用程序
binary icon

简易分发

使用 GraalVM Native Image 将 Python 应用程序打包为 单个二进制文件

如何开始

您可以选择使用 Python 扩展您的 Java 应用程序,或者直接访问 入门项目

1. 从 Maven Central 添加 GraalPy 作为依赖项

1. 从 Maven Central 添加 GraalPy 作为依赖项

<dependency>
  <groupId>org.graalvm.polyglot</groupId>
  <artifactId>polyglot</artifactId> 
  <version>24.2.1</version>
</dependency>
<dependency>
  <groupId>org.graalvm.polyglot</groupId>
  <artifactId>python</artifactId> 
  <version>24.2.1</version>
  <type>pom</type>
</dependency>

implementation("org.graalvm.polyglot:polyglot:24.2.1")
implementation("org.graalvm.polyglot:python:24.2.1")

2. 在 Java 中嵌入 Python 代码

2. 在 Java 中嵌入 Python 代码

import org.graalvm.polyglot.Context;

try (Context context = Context.create()) {
    context.eval("python", "print('Hello from GraalPy!')");
}

3. 添加 GraalPy 插件以获取额外的 Python 包(可选)

3. 添加 GraalPy 插件以获取额外的 Python 包(可选)

<plugin>
  <groupId>org.graalvm.python</groupId>
  <artifactId>graalpy-maven-plugin</artifactId>
  <version>24.2.1</version>
  <executions>
    <execution>
      <configuration>
        <packages>
          <!-- Select Python packages to install via pip. -->
          <package>pyfiglet==1.0.2</package>
        </packages>
      </configuration>
      <goals>
        <goal>process-graalpy-resources</goal>
      </goals>
    </execution>
  </executions>
</plugin>

plugins {
    id("org.graalvm.python") version "24.2.1"
}

graalPy {
    packages = setOf("pyfiglet==1.0.2")
}

视频

用 Python 为您的 Java 应用程序赋能!
Jfokus'25

LangChain4j、Spring AI 和 llama3.java 等项目在过去一年中让 Java 社区对 AI 感到非常兴奋。Python 生态系统也提供了许多强大的数据科学、机器学习等方面的软件包。作为一名 Java 开发者,如果您也能从中受益,那岂不是很棒?
在本次演讲中,我们将展示如何开始使用 GraalPy 并利用 Python 生态系统中的软件包。我们还将展示一些现场演示,并预览即将推出的功能,这些功能将改善 Java 与流行 Python 包附带的原生扩展之间的交互。

用 Python 为您的 Java 应用程序赋能!
Devoxx'24

Python 生态系统提供了许多强大的数据科学、机器学习等方面的软件包,您现在可以在 Java 中利用它们。首先,将 GraalPy 作为依赖项添加到您的 Java 项目中。GraalPy 还提供了 Maven 和 Gradle 插件,可帮助您安装额外的 Python 包。在本次演示中,我们还将展示实时演示,以说明不同的用例,例如使用 Python 可视化数据的 Spring Boot 应用程序、在 JBang! 上运行的 Python、用 Python 编写脚本的 Java 应用程序等等。