💬 观点Simon Willison
EVE Online: The Move to Python 3 Begins! — EVE Online 宣布将 240 万行代码从 Python 2 迁移到 Py
EVE Online 宣布将 240 万行代码从 Python 2 迁移到 Python 3,这是大型 Python 项目迁移的经典案例。
2026-08-25原文
本文为要点摘要,完整细节以原文为准。
🧭 一图看懂
由原文自动提炼 · 以原文为准点击任一分支,查看这一点的一句话解读
EVE Online 迁移 Python 3
EVE Online 将把 240 万行代码从 Python 2 迁移到 Python 3
- 使用 futurize 脚本自动转换
- 约 2 万处需人工审查
⚙️ 流程拆解
STEP 1运行 futurize 脚本
STEP 2人工审查约 2 万处差异
STEP 3完成 Python 3 迁移
🔗 涉及的概念与玩家
- EVE Online产品
- Stackless Python产品
- Python 3概念
- futurize方法
- EVE Frontier产品
- carbonengine/scheduler产品
- Carbon产品
- EVE Online—运行于→Stackless Python
- EVE Online—迁移至→Python 3
- futurize—用于迁移→Python 3
- EVE Frontier—使用→carbonengine/scheduler
- carbonengine/scheduler—替代→Stackless Python
- EVE Online 自 2003 年上线以来一直使用 Stackless Python,最近一次大升级是 2010 年迁移到 Python 2.7。此次迁移将使用 futurize 脚本处理 240 万行代码,并人工审查约 2 万个 Python 2/3 行为差异点(如整数除法)。
- 对开发者而言,这展示了大型代码库迁移的务实路径:自动化工具 + 人工审查,而非一次性重写。
- 公告未提及 Stackless 的替代方案,但去年 EVE Frontier 已用开源库 carbonengine/scheduler 取代了 Stackless,这可能为 EVE Online 提供迁移方向。
- 对 agent 工具链的启示:代码迁移可借助自动化脚本,但语义差异仍需人工判断,agent 可辅助定位差异点。
原文:EVE Online: The Move to Python 3 Begins! · 作者 Simon Willison