nx.draw画图时报错:AttributeError: module ‘scipy.sparse’ has no attribute ‘coo_array’

目录

一、错误原因:

二、各种尝试

三、问题解决


在完成一个任务时遇到的错误,使用nx.draw(G)画网络结构时报上面的错。但是奇怪的是我最开始是在一个很小的数据上(只有十条边作业)是可以画的,但是换成很大的数据集数据集之后就突然报错了...这个错误困扰了我小一天的时间,先贴两个我搜索时参考的帖子:

使用networkx画图时,报错:AttributeError: module ‘scipy.sparse’ has no attribute ‘coo_array’_weixin_45785134的博客-CSDN博客使用networkx画图时,报错:AttributeError: module ‘scipy.sparse’ has no attribute ‘coo_array’https://blog.csdn.net/weixin_45785134/article/details/125072869?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1-125072869-blog-125110798.pc_relevant_antiscanv3&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1-125072869-blog-125110798.pc_relevant_antiscanv3AttributeError:模块‘scipy.sparse‘没有属性‘coo_array‘ (module ‘scipy.sparse‘ has no attribute ‘coo_array‘)__Jesse_的博客-CSDN博客attributeError:模块'scipy.sparse'没有属性'coo_array'https://blog.csdn.net/weixin_44562556/article/details/125110798

一、错误原因:

通过以上两个帖子都可以发现,这是networkx和scipy版本不一致导致的问题。第二个帖子博主贴的图说:如果你的scipy版本1.8networkx版本2.7,那就可以正常使用,如果两个都是这之前的版本也ok,但是悲惨的是我发现我的scipy版本是1.7,networkx版本2.7,刚好导致了这个错误(悲剧)。

所以我就开始努力解决版本问题:

二、各种尝试

首先使用原生python直接pip install是可以下载成功这个版本的。

因为我用anaconda安装的,然后各种下载卸载,包括换了anaconda源之后发现:还是只有这两个版本。(期间我使用了python3.8下载是成功的,下载的scipy1.8版本,当时看的一个安装贴用的是阿里的源,所以我觉得阿里源里肯定有这个版本的scipy,于是增加了anaconda源,但是还是没能下载成功)。

万念俱灰的我准备就用python3.8的环境去做了(本来是想用pytorch),但是今天我悲惨的发现任务还是要用pytorch去做。于是我又开始寻找如何解决版本问题。果然!原来这些版本包都是可以手动下载安装的:

三、问题解决

你只需要点进去这个网址↓:选择合适你的版本的包,然后安装。

https://www.lfd.uci.edu/~gohlke/pythonlibs/

安装时如果你想在特定的环境下安装,先使用conda activate pytorch 切换到要安装的环境(我的是pytorch这个环境),然后cd 切换到你文件下载的目录,再使用pip install 刚刚下载的安装包名字

这个安装流程可以参考博客↓:

conda安装本地whl文件_HUANG370的博客-CSDN博客_conda安装whlhttps://blog.csdn.net/HUANG370/article/details/119182313

(期间我还下错了,我上了就选了第一个,我看上面有py38和64位就下了。。然后又报了个错)

如果你像我一样不幸选错或者不会选择版本报了错,你可以看这个帖子↓:


【2021新教程】解决is not a supported wheel on this platform-解决pip has no attribute pep425tags-解决网上旧教程不适用的问题_Lukea11的博客-CSDN博客https://blog.csdn.net/happywlg123/article/details/107281936

如果你也是3.8 64位的话,就选择和俺相同的版本: 

        安装完之后,使用conda list命令查看俺的包们:看起来非常符合要求

        最后俺怀着激动地心将环境切换成pytorch,运行,果然没有报错,问题成功解决!希望对其他被这个报错困扰的小伙伴能有帮助。

----------------------------------------------------------------------------------------------------------------------更新

        当时做的东西并不需要draw,我就直接把这句注释掉了,但是今天(7.13)我用了nx.pagerank()这个函数,他又报了这个错!我火都大了,这次俺把版本降低了,刚降完目前确实好用了,但是有了前车之鉴,我准备等到明天再试试他是不是真的好用了,我再也不想看到这个错了!【更新:第二天仍然没报错!感恩】

附降低版本的博客:dipython networkx画图,报错:AttributeError: module ‘scipy.sparse’ has no attribute ‘coo_array’_敲多少ls cd 才能财务自由的技术博客_51CTO博客python networkx画图,报错:AttributeError: module ‘scipy.sparse’ has no attribute ‘coo_array’,pythonnetworkx模块画图报错:module‘scipy.sparse‘hasnoattribute‘coo_array‘解决https://blog.51cto.com/welcomeweb/5415633python networkx画图,报错:AttributeError: module ‘scipy.sparse’ has no attribute ‘coo_array’,pythonnetworkx模块画图报错:module‘scipy.sparse‘hasnoattribute‘coo_array‘解决https://blog.51cto.com/welcomeweb/5415633python networkx画图,报错:AttributeError: module ‘scipy.sparse’ has no attribute ‘coo_array’,pythonnetworkx模块画图报错:module‘scipy.sparse‘hasnoattribute‘coo_array‘解决https://blog.51cto.com/welcomeweb/5415633python networkx画图,报错:AttributeError: module ‘scipy.sparse’ has no attribute ‘coo_array’,pythonnetworkx模块画图报错:module‘scipy.sparse‘hasnoattribute‘coo_array‘解决https://blog.51cto.com/welcomeweb/5415633python networkx画图,报错:AttributeError: module ‘scipy.sparse’ has no attribute ‘coo_array’,pythonnetworkx模块画图报错:module‘scipy.sparse‘hasnoattribute‘coo_array‘解决https://blog.51cto.com/welcomeweb/5415633python networkx画图,报错:AttributeError: module ‘scipy.sparse’ has no attribute ‘coo_array’,pythonnetworkx模块画图报错:module‘scipy.sparse‘hasnoattribute‘coo_array‘解决https://blog.51cto.com/welcomeweb/5415633python networkx画图,报错:AttributeError: module ‘scipy.sparse’ has no attribute ‘coo_array’,pythonnetworkx模块画图报错:module‘scipy.sparse‘hasnoattribute‘coo_array‘解决https://blog.51cto.com/welcomeweb/5415633

-----------------------------------------------------------------------------------------------------------------------更新

今天(7.20)我安装了一个新的库h5py,在更新的过程中他提示这个安装会更新(?我没仔细看,应该是安装这个会更新几个库,其中就有networkx更新到2.8,我当时就感觉可能要出问题,但是安装完之后conda list显示我的networkx版本还是2.5,但是运行果然出问题了,又报了这个错,但是经过几次受虐之后我沉着冷静:首先肯定是跟新安装的有问题,于是我又参照上面教程又安装了一次2.5版本的networkx,但是依然报错(此处我没有uninstall!)反复几次之后一直还是报错。

然后!我开始uninstall,第一次uninstall卸载的是2.5版本?然后我继续uninstall,这次卸载了2.8.4。相信聪明的水友看到这里已经明白了--不知道我理解的是否正确,我上次更新别的库升级了networkx,但是他没有显式的表现出来,而是存在什么地方,调用时不知道调用的是哪个版本所以又开始报错,这就是为什么我可以卸载多次!(但是安装时如果已经安装会提醒已经有了,而且一般安装新版本也会提示要卸载已有版本,安装新版本,所以俺也没懂他能重复安装的原因是什么,这件事告诉我的血泪教训就是安装新的之前还是自己卸载一下,可以多卸载几次,当出现黄字:WARNING: Skipping networkx as it is not installed.那就是卸干净了,然后重新下载我们需要的版本就可以了)

所以重新卸载并下载了低版本之后,俺的报错问题再一次解决了,希望我再也不要遇到这个coo_arr问题,我已经对这个字眼PTSD了

 

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值