numba 和 numpy 版本问题

文章讲述了用户在升级numba和遇到numpyattributeerror后,如何通过降级numpy版本或修改graphml.py文件中的数据类型定义来解决兼容性问题的过程。
摘要由CSDN通过智能技术生成

因为我安装的numba版本问题

import numba
File “/home/ubuntu/miniforge3/envs/xx/lib/python3.8/site-packages/numba/init.py”, line 43, in
from numba.np.ufunc import (vectorize, guvectorize, threading_layer,
File “/home/ubuntu/miniforge3/envs/xx/lib/python3.8/site-packages/numba/np/ufunc/init.py”, line 3, in
from numba.np.ufunc.decorators import Vectorize, GUVectorize, vectorize, guvectorize
File “/home/ubuntu/miniforge3/envs/xx/lib/python3.8/site-packages/numba/np/ufunc/decorators.py”, line 3, in
from numba.np.ufunc import _internal

的问题

用了大多数人升级了numba后,发现了一些numpy的函数出了问题

File “/home/ubuntu/miniforge3/envs/xx/lib/python3.8/site-packages/networkx/readwrite/graphml.py”, line 314, in
class GraphML(object):
File “/home/ubuntu/miniforge3/envs/xx/lib/python3.8/site-packages/networkx/readwrite/graphml.py”, line 346, in GraphML
(np.int, “int”), (np.int8, “int”),
File “/home/ubuntu/miniforge3/envs/xx/lib/python3.8/site-packages/numpy/init.py”, line 284, in getattr
raise AttributeError("module {!r} has no attribute "
AttributeError: module ‘numpy’ has no attribute ‘int’

遇到这样的情况下

升级nextorkx

退回numpy

pip install numpy==1.19.5

找到文件graphml.py 后面可以改代码

ypes = [(np.float64, "float"), (np.float32, "float"),
                 (np.float16, "float"), (np.float_, "float"),
                 (np.int, "int"), (np.int8, "int"),
                 (np.int16, "int"), (np.int32, "int"),
                 (np.int64, "int"), (np.uint8, "int"),
                 (np.uint16, "int"), (np.uint32, "int"),
                 (np.uint64, "int"), (np.int_, "int"),
                 (np.intc, "int"), (np.intp, "int"),
                ] + types

中的代码,改成你版本支持的numpy 就可以了

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值