GraalPy

面向 Java 的高性能可嵌入 Python 3 运行时

优势

access icon

面向 Java 的 Python

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

与 Python 3 兼容

运行最新的 Python AI 和数据科学包
speed icon

JVM 上最快的 Python

Graal JIT 将 Python 编译为本地代码以获得速度提升
upgrade icon

面向 JVM 的现代 Python

GraalPy 为 Jython 用户提供了升级路径
code icon

使用 Python 编写 Java 脚本

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

简单的分发

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

如何开始

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


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


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

2. 在 Java 中嵌入 Python 代码


import org.graalvm.polyglot.Context;

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

3. 添加用于额外 Python 包的 GraalPy 插件(可选)


<plugin>
  <groupId>org.graalvm.python</groupId>
  <artifactId>graalpy-maven-plugin</artifactId>
  <version>24.1.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.1.1"
}

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

GraalPy 快速入门

直接使用此入门项目

视频

使用 Python 为您的 Java 应用程序赋能!

Python 生态系统提供了许多强大的包,可用于数据科学、机器学习等,您现在可以在 Java 中使用它们。通过将 GraalPy 添加为您的 Java 项目的依赖项来开始使用。还存在用于 GraalPy 的 Maven 和 Gradle 插件,可帮助您安装额外的 Python 包。在本演示文稿中,我们还将展示一些实时演示,说明不同的用例,例如:使用 Python 可视化数据的 Spring Boot 应用程序、在 JBang! 上运行的 Python、使用 Python 编写的 Java 应用程序等等。

与我们联系