Repolode
RustPython

RustPython/RustPython

用 Rust 编写的 Python 3 解释器,不依赖 CPython 绑定,支持 WebAssembly 与嵌入 Rust 应用。

Star
22,409
Fork
1,501
未关闭 Issue
308
最近提交
9小时前

这是什么?

RustPython 是完全用 Rust 实现的 Python 3 解释器,而不是对 CPython 的封装。项目以 CPython 3.15 兼容为目标,可以编译为本地可执行文件、通过 cargo 安装,也可以编译为 WASI WebAssembly 模块,在 Wasmer 等 WASI 运行时中运行。官网提供了通过 WebAssembly 在浏览器中运行的在线演示。

它也可以嵌入到 Rust 应用中,为程序增加 Python 脚本能力,适合需要频繁调整逻辑、又不想承受 Rust 编译时间的场景。项目支持可选的 SSL 功能以发起 HTTPS 请求并安装 pip,提供 venv 虚拟环境命令,并包含一个实验性的 JIT 编译器,启用 jit 特性后可将 Python 函数编译为原生代码。

项目仍在开发中,尚不适合用于生产环境。其目标是在 Rust 中构建完整的 Python 3 运行环境,并保持实现简洁、不做兼容性补丁。

核心功能

  • 01用 Rust 实现的 Python 3 解释器,不依赖 CPython 绑定
  • 02支持交互式命令行和直接执行 Python 代码
  • 03可编译为 WASI WebAssembly 模块运行
  • 04可嵌入 Rust 应用中提供 Python 脚本能力
  • 05可选的 SSL 支持,用于 HTTPS 与 pip 安装
  • 06实验性的 JIT 编译器,可将 Python 函数编译为原生代码

适用场景

  • 通过 WebAssembly 在浏览器或 WASI 环境中运行 Python 代码
  • 为 Rust 应用添加面向用户的 Python 脚本功能
  • 学习或参与用 Rust 编写的 Python 解释器内部实现

标签

常见问题

RustPython 是什么?
用 Rust 编写的 Python 3 解释器,不依赖 CPython 绑定,支持 WebAssembly 与嵌入 Rust 应用。 RustPython 是完全用 Rust 实现的 Python 3 解释器,而不是对 CPython 的封装。项目以 CPython 3.15 兼容为目标,可以编译为本地可执行文件、通过 cargo 安装,也可以编译为 WASI WebAssembly 模块,在 Wasmer 等 WASI 运行时中运行。官网提供了通过 WebAssembly 在浏览器中运行的在线演示。
RustPython 可以免费使用吗?用的什么许可证?
RustPython 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
RustPython 还在维护吗?
活跃维护中。RustPython 最近一次提交是在 2026年10月20日。
RustPython 适合用来做什么?
通过 WebAssembly 在浏览器或 WASI 环境中运行 Python 代码 为 Rust 应用添加面向用户的 Python 脚本功能 学习或参与用 Rust 编写的 Python 解释器内部实现
在哪里获取 RustPython?
源代码和安装说明在 GitHub 上:https://github.com/RustPython/RustPython

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目