Synth Daily

提醒:PyPy 可能处于缺乏维护的状态

PyPy 解释器项目目前疑似已陷入开发停滞状态,包括 NumPy 在内的核心 Python 生态项目正逐步取消对其的支持。在最新的 uv 工具更新(0.9.27 版本)中,开发者已正式添加文档警告,提醒用户 PyPy 可能不再被充分维护。此次更新同时增强了 Python 环境兼容性、扩展了加速器支持并优化了包管理逻辑,旨在为用户提供更稳定可靠的开发环境。

PyPy 维护状态陷入危机

多项迹象表明,曾经作为 Python 重要替代实现的 PyPy 项目正面临严峻挑战:

  • 开发活动疑似停滞:项目近期缺乏积极的更新和维护。
  • 主流库逐步淘汰:NumPy 等基础科学计算库已开始将其移除出支持列表。
  • 开发者内部证实:相关的放弃支持议案由 PyPy 核心开发者提出,暗示了项目内部的困境。
  • 文档风险提示:主流工具已开始在文档中明确标注 PyPy 处于缺乏维护的状态,以防止用户在生产环境中盲目使用。

“由于 PyPy 开发者在 NumPy 议题中透露的情况,我们添加了警告,以避免用户误以为 PyPy 仍是一个得到妥善支持和开发的 Python 发行版。”

uv 0.9.27 版本关键更新

作为高性能的 Python 包和环境管理器,uv 在最新版本中进行了多项功能增强:

核心环境与加速器支持

  • 运行时升级:将 Pyodide 升级至 0.29.2,GraalPy 升级至 25.0.2。
  • 硬件加速:新增对 ROCm 7.0 和 7.1 加速器后端的支持,优化了高性能计算场景。
  • 架构兼容性:进一步改进了 free-threading ABI 的不兼容错误提示,让调试更直观。

命令行与工具优化

  • 快捷指令:为 uv pip 子命令增加了 -t 缩写(对应 --target)。
  • 版本管理uv pip compile 现在会尝试下载指定的 --python-version
  • 包过滤:实现了 uv pip freeze --exclude 功能,方便用户过滤特定依赖。
  • 自动化增强:在预览功能中,提升了对冲突包的检测能力,并优化了 uv python upgrade 的逻辑。

给开发者的建议

如果你目前正在使用或计划使用 PyPy,建议关注以下动态:

  • 审视兼容性:检查你所依赖的第三方库是否仍计划支持 PyPy。
  • 考虑替代方案:随着 GraalPy 等项目的跟进,以及 Python 官方在性能上的持续优化,评估切换回 CPython 或其他活跃分支的必要性。
  • 关注工具警告:在使用 uv 等现代包管理工具时,留意其针对特定环境的兼容性提示。

保持环境的现代性与可维护性,比单纯追求特定场景下的执行速度更为重要。