命令行工具的Python版本推荐 | AI生成和翻译
问题: Python 3.11、3.12 和 3.13 分别于何时发布?考虑到当前已是 2026 年,对于像 ww 这样的 CLI 工具包,我应该指定最低 Python 版本是多少?
答案:
发布时间线
| 版本 | 初始发布 | 结束支持(EOL) |
|---|---|---|
| 3.11.0 | 2022 年 10 月 24 日 | ~2027 年 10 月 |
| 3.12.0 | 2023 年 10 月 2 日 | ~2028 年 10 月 |
| 3.13.0 | 2024 年 10 月 7 日 | ~2029 年 10 月 |
| 3.14.0 | 2025 年(alpha → 稳定版 2025 年 10 月) | ~2030 年 10 月 |
注意:3.12 目前已进入“仅安全修复”阶段——不再接受常规错误修复,也不再提供二进制安装程序。3.13 是当前稳定的特性发布系列,3.14 是最新的特性发布系列。
为 ww 设置什么版本
你的 pyproject.toml 当前指定 python >= 3.8。对于 2026 年来说,这过于保守。理由如下:
将最低版本提升至 >=3.11。 原因如下:
使用 3.11+ 能获得什么:
- CPython 性能提升约 25%(专门化自适应解释器)——对 CLI 启动速度很重要
- 标准库中的
tomllib(用于配置文件解析) ExceptionGroup/except*——异步代码中更清晰的错误处理- 更好的回溯信息,精确定位错误位置
使用 3.12+ 能获得什么:
- f-string 改进(嵌套表达式、多行)
typing中的@override装饰器- 每个解释器独立的 GIL(为真正多线程奠定基础)
- 但:现在仅处于安全更新阶段,因此你会锁定在一个不再接收错误修复的版本
使用 3.13+ 能获得什么:
- 新的交互式 REPL(彩色、多行)
- 实验性自由线程模式(无 GIL)
- 实验性 JIT
- 活跃的错误修复版本将持续到 ~2027 年
建议:python >= 3.11
针对 ww 的具体理由:
- 它是一个个人 CLI 工具包,不是他人依赖的库——你可以控制运行环境
- 你使用的是 macOS M2(通过 Homebrew 默认安装 Python 3.12+)和 Ubuntu(易于安装 3.11+)
- 3.11 的 EOL 是 2027 年 10 月——还有 18 个月的时间,足够充裕
- 设置
>=3.12也可以,而且面向未来稍微更好,但 3.11 能最大化兼容性,如果你需要与他人分享而不要求他们升级 - 对于 CLI 工具,
>=3.13过于激进——像Pillow、faiss-cpu以及一些 whisper 绑定库在新版本上偶尔会有延迟支持
如果你想更前卫: 目前 >=3.12 是最佳选择——仍能获得错误修复直到 2028 年 10 月,广泛可用,并且抛弃了 3.8–3.10 的语法限制。
在 pyproject.toml 中:
[project]
requires-python = ">=3.12"
在你的 GitHub Actions CI 中,针对 ["3.12", "3.13"] 进行测试——跳过 3.14,直到它在 2025 年 10 月最终版本稳定下来。
总结: 放弃 >=3.8——那是 2019 年的版本,EOL 于 2024 年 10 月。设置最低 >=3.11,首选 >=3.12。你发布的不是需要广泛兼容的库,而是在你控制的机器上运行的个人工具。