文章目录
-
- ImportError: cannot import name 'complete_to_chordal_graph'解决
-
- 杂话
- 问题
- 解决
- 注
ImportError: cannot import name 'complete_to_chordal_graph’解决
杂话
大伙儿应该都用过NetworkX这个库函数吧,是一个很方便的图相关的库,但是如果你的版本很老,特别老的话,就可能遇到一些奇怪的问题,比如说这个
问题
ImportError: cannot import name 'complete_to_chordal_graph
当然啦,在这之前,还有很多一长串的,连锁的报错哈。大概意思就是在这个库函数里面,有这么个地方algorithms->tree->decomposition,文件开头的import长这个样子
from itertools import combinations import networkx as nx from networkx.algorithms import chordal_graph_cliques, complete_to_chordal_graph, moral from networkx.utils import not_implemented_for
对,在这里会报错,就是第三行import的那仨玩意儿,前俩都不好使。
解决
其实仔细一想,这个报错还是很诡异的。因为你这个库函数平白无故去导入一个东西发现导入不了,不是很奇怪吗。但是回头再想,他肯定不是变了俩函数出来故意让咱们导入失败,很大概率是有这俩函数的,只不过是位置不对。
好,那么顺着这个思路往下想,很容易就找到了这两个家伙现在躲在哪里了。这俩东西被集成到一个叫chordal.py的文件里面了,那么我们只需要这么修改一下:
import networkx as nx from networkx.utils import not_implemented_for from networkx.algorithms import moral from networkx.algorithms.chordal import * from itertools import combinations
OK,解决啦
注
如果还有什么不同的问题,欢迎在评论区一起讨论呀