Python3.10运行PyTorch报Numpy is not available 不换版本如何解决
问题现象
运行以下代码时触发RuntimeError: Numpy is not available报错:
img = torch.from_numpy(np.array(pic, mode_to_nptype.get(pic.mode, np.uint8), copy=True))
当前环境Python版本为3.10,无需降级/更换Python版本即可解决,按以下优先级排查修复即可:
修复步骤
- 优先重装numpy修复安装损坏问题
该报错最常见诱因是numpy安装不完整、或安装PyTorch时依赖的numpy二进制文件损坏,在当前运行代码的虚拟环境中执行命令强制重装numpy:# pip环境执行 pip install numpy --force-reinstall # conda环境执行 conda install numpy --force-reinstall - 修复版本不兼容问题
- PyTorch 1.12以下的老版本不兼容Python3.10,如果当前装的PyTorch版本低于1.12,直接升级PyTorch到1.12及以上的稳定版即可
- PyTorch 2.0以下的版本未适配numpy 2.x系列版本,如果当前numpy版本为2.0+,会触发接口不兼容报错,直接将numpy降级到兼容区间即可:
pip install numpy==1.26.4
- 排查多环境包冲突
如果存在全局环境、虚拟环境混装PyTorch/numpy,或者同时安装了CPU版、GPU版PyTorch的情况,会导致包加载路径错乱触发报错。先执行以下命令查看当前环境的已安装包:
把输出结果里重复的、来源不明的torch、numpy包全部卸载干净后,重新安装适配版本即可。pip list | grep -E "torch|numpy"
提示:安装完PyTorch后不要单独将numpy升级到跨大版本的最新版,极易出现二进制接口不兼容问题,直接表现为Numpy不可用类报错。
内容的提问来源于stack exchange,提问作者Ala BR
相关产品推荐
相关产品推荐

