Numpy兼容报错:A module that was compiled using NumPy 1.x cannot be run inNumPy 2.0.0 as it may crash

最近在复现代码,环境requirement.txt安装之类的常规操作,主要涉及到的就是pytorch和python版本等等。本来安装的过程还算顺利,但一运行就报错:

 

A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with ‘pybind11>=2.12’

问题原因:查阅相关资料和官网后后发现,应该是python3.9-3.12或者比较新的python版本,下载了numpy2.0的新版本,而numpy2.0是新发布的,与不同的python,torch版本之间的兼容性还不稳定,所以可能才会出现以上报错。


  

解决方案:直接更换numpy版本

pip install numpy==1.22.4

衍生问题和其他方法:

一开始在尝试换版本的时候,我换到了numpy1.26.0,但复现的代码里面有显示numpy.long不支持。一查才发现1.26.0又不支持.long。所以推断我们可以根据报错,和python的版本匹配,调整到最适合的numpy版本:

pip index versions numpy

 不同可安装的版本显示:

Python与Numpy的对应:

下载了1.22.4发现没有兼容性问题了,可以成功运行代码。问题得到解决。

            
参考文章:

A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.0 as it may crash. To support-CSDN博客

成功解决Error:AttributeError: module ‘numpy‘ has no attribute ‘long‘._attributeerror: module 'numpy' has no attribute 'l-CSDN博客

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值