升级一个包整个环境就崩:numpy 1.x/2.x 断代是最经典的那种

环境与安装 · 5 步 / 10 分钟L1整理于 2026-10-06 有效期 permanent

pip install -U 随手升一个包,之后程序报 _ARRAY_API not found 或 cannot import name —— 本地 AI 栈依赖极深,torch 钉死了对应的 numpy/CUDA/torchvision 版本,升一个会顶掉另一个。最典型的断代是 numpy 2.x 与用 numpy 1.x 编译的扩展不兼容,报 _ARRAY_API not found,修法就一句:pip install "numpy<2"。判据是 pip check 列出的不兼容依赖对。

Python环境排错依赖管理版本冲突PyTorch

这条适用于

版本指纹

三套 Python 并存环境;判据(pip check)跨项目通用

具体做法

# —— ① 看冲突全貌 ——
$ <你的python.exe> -m pip check
# 输出形如:torch 2.x requires numpy<2, but you have numpy 2.0.0
# —— ② 最经典的一招:把 numpy 拉回 1.x ——
$ <你的python.exe> -m pip install "numpy<2"
# 专治报错:RuntimeError: _ARRAY_API not found /
#   A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.0
# —— ③ torch 三件套必须同 CUDA 编号(别只升一个)——
$ <你的python.exe> -m pip install torch torchvision torchaudio \
    --index-url https://download.pytorch.org/whl/cu124
# —— ④ 看某包依赖了什么 ——
$ <你的python.exe> -m pip show numpy
$ <你的python.exe> -m pip show torch | findstr Requires
# —— ⑤ 乱了就重来(常比逐个降级快)——
$ python -m venv .venv
$ .venv\Scripts\python.exe -m pip install -r requirements.txt
失效边界
适用边界:判据(pip check + 报错点名的包版本)在所有 Python 项目通用。本机实测环境为三套 Python 并存(见「pip 装成功却缺包」篇),所以本类问题在本机更容易被放大——先确认你改动的是哪一套环境,再动手。提醒:不要用 pip install -U 无差别升级 AI 栈里的包;也不要「一路降级」硬凑,兼容性问题成堆时新建干净 venv 重装往往更快更干净。
← ARM 小机跑端侧模型的三个前置门槛:指令集、glibc、cmake同名模型多精度副本:白占的 57 个 G →

← 返回全部排错方案