从numpy官方新闻页可以看到,2.5.0版本已经在2026年6月21日正式发布。官方把这个版本定位为过渡版本,核心改动不是新增多少单独的api,而是围绕python版本适配、构建体系、旧行为清理这三块重新划了边界。官方发版说明里明确写了,2.5.0仅支持python 3.12到3.14,彻底放弃python 3.11,同时移除了distutils组件。对所有做科学计算的项目来说,升级这个版本不能光看pip能不能装得上,得同步核对你当前的python运行版本、c扩展构建链路,还有所有依赖包的兼容区间。

来源:NumPy 官方 News
这次更新的另一条核心主线,是为后续Python新版本、以及无全局解释器锁的自由线程场景铺路。官方列出的重点改动包括:优化自由线程支持、完善静态类型提示、排序功能适配array-api标准,其中新增的降序排序功能,会影响所有依赖原有排序逻辑的下游库和数据处理脚本。NumPy本身没把这次更新定义成激进重构,但这次清理掉的旧接口、到期弃用项数量不少,项目维护者做测试的时候,要把重点放在数据类型dtype、排序逻辑、Cython/C API、还有构建环境这几个模块上。

来源:NumPy 官方发布说明
官方发版说明还特意提到,从2.0.x版本开始累积的大量弃用项这次全部到期了。还在沿用旧写法的项目,最容易踩的坑不是某个函数突然用不了,而是一堆零散的小改动叠加起来,导致CI流水线、轮子构建、数值回归测试同时报红。团队升级之前,得先把项目的Python版本范围锁死,排查下代码里有没有还在依赖distutils、旧版Cython、或者已经被移除的NumPy私有别名,再单独开分支做兼容性验证。
对项目维护者来说,升级前还要把整个依赖树过一遍。NumPy是绝大多数科学计算、机器学习、数据处理工具的底层依赖,某个接口弃用未必会在应用层直接报错,很可能通过pandas、SciPy、scikit-learn,或者你自己写的C扩展间接出问题。最稳妥的操作是先在隔离的虚拟环境里升级,把所有弃用警告DeprecationWarning、构建日志、二进制轮子的来源都排查一遍,确认没问题之后再同步到生产镜像里。
官方没要求所有项目立刻追最新的补丁版,但2.5.x这条线已经把后续的迁移方向摆得很清楚:Python支持的版本窗口整体上移,旧的构建路径彻底退出,字符串dtype和数组的变更规则也继续收紧。只要你的项目涉及长期归档数据、旧版dtype兼容逻辑、或者跨平台轮子构建,就应该把这些改动提前放进升级待办清单里,别等后面出大版本迭代的时候堆到一起处理。
信源说明:本文全部内容整理自NumPy官方新闻页和NumPy 2.5.0官方发布说明;不同项目实际受到的影响,取决于自身的Python版本、C扩展实现、构建系统和下游依赖情况。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











