Spicycrab(2026年Python语言峰会)

Spicycrab(2026年Python语言峰会)

💡 原文英文,约600词,阅读约需3分钟。
📝

内容提要

在2026年Python语言峰会上,Kushal Das展示了Spicycrab,该工具将Python转译为Rust,帮助不愿学Rust的Python用户提升性能。它能把Python脚本编译为Rust源码和可执行文件,并支持actix-web异步Web服务。Ken Jin质疑其与mypyc、Cython、SPy的区别,Gregory P. Smith则提出LLM重写代码的潜在冲击。

🔎

延伸解读

Spicycrab 的定位与适用场景

Spicycrab 面向遇到性能瓶颈但不愿学习新语言的 Python 用户。Kushal Das 以 2008 年 Django 经历为例,当时只能写 C 扩展,现在 Rust 解决了安全与崩溃问题,但语法难学。Spicycrab 让用户用 Python 写代码,转译为 Rust 获得性能,适合资源受限的小团队,避免转向 Go 等语言。

与现有方案的对比

Ken Jin 质疑为何不选 mypyc、Cython 或 SPy。Kushal 承认 mypyc 很好且多数情况可直接用,但 SPy 只支持 Python 子集。Spicycrab 的主要动机是让 Python 用户不惧 Rust 语法而用上 Rust,同时解决多个问题,而非单纯追求性能。

LLM 重写代码的潜在冲击

Gregory P. Smith 提出 LLM 将代码从 Python 重写为 Rust 可能成为常态,这对 Python 是生存性威胁。Kushal 认为这只能一次性解决问题,长期维护仍是难题,且成本高昂,例如 Bun 从 Zig 重写为 Rust 花费了 16.5 万美元。

❓

Q&A

Spicycrab 是什么?它有什么作用?

Spicycrab 是一个 Python 到 Rust 的转译器,由 Kushal Das 在 2026 年 Python 语言峰会上展示。它能把 Python 脚本编译成 Rust 源代码和可执行文件,帮助不想学 Rust 的 Python 用户提升性能。

Spicycrab 适合哪些人使用?

Spicycrab 适合那些遇到性能瓶颈、无法通过横向扩展解决,但又不想学习新编程语言的 Python 用户。特别是资源受限的小型组织,他们原本可能因此转向 Go 等语言,现在可以用 Spicycrab 在不离开 Python 的情况下获得性能提升。

Spicycrab 如何支持异步 Web 服务?

Spicycrab 通过将使用 actix-web 模式编写的 Python 代码转译为符合 Rust 习惯的代码来支持异步 Web 服务。actix-web API 以生成的存根包形式预先提供给 Python,用户安装 actix-web 后即可编写异步处理函数,转译并编译后生成可执行文件来提供 HTTP 服务。

Spicycrab 与 mypyc、Cython、SPy 有什么区别?

Kushal 表示 SPy 只支持 Python 的一个子集,而 mypyc 很好,很多情况下可以直接使用。他选择 Spicycrab 的主要动机是同时解决多个问题,其中之一是让 Python 用户在不害怕 Rust 语法的情况下使用 Rust。

使用 Spicycrab 转译 Python 代码的步骤是什么?

首先使用命令如 `crabpy transpile greet.py -o greet` 将 Python 脚本转译为 Rust 源代码(位于 greet/src/main.rs),然后可以用 `cargo run` 运行。对于 Web 服务,需要先通过 Cargo 安装 actix-web,然后编写使用 actix-web 模式的 Python 代码,再转译并编译成可执行文件。

Gregory P. Smith 对 Spicycrab 提出了什么担忧?

Gregory P. Smith 提出,未来大型语言模型可能会普遍地将代码从一种语言重写为另一种语言(如从 Python 到 Rust 以提升性能),这对 Python 是“存在性”的威胁。Kushal 回应说这只能一次性解决问题,无法解决代码的长期维护,且成本高昂,例如将 Bun 从 Zig 重写为 Rust 花费了 16.5 万美元。

🏷️

标签

➡️

继续阅读