我一直在尝试从NetworkX库中导入必要的模块,但是它总是抛出ImportError或AttributeError。
我正在为最后一年的项目使用NetworkX库,并且我想使用this function计算给定图的树宽分解,而我需要其他功能的值。
我尝试了以下操作:
import networkx as nx
from networkx.algorithms import approximation
G = nx.barbell_graph(5, 1)
decom = approximation.treewidth_min_fill_in(G)
但这只会给我以下错误:
AttributeError: module 'networkx.algorithms.approximation' has no attribute 'treewidth_min_fill_in'
import networkx as nx
G = nx.barbell_graph(5, 1)
decom = nx.algorithms.approximation.treewidth.treewidth_min_fill_in(G)
但这只会给我以下错误:
AttributeError: module 'networkx.algorithms.approximation' has no attribute 'treewidth'
import networkx as nx
from networkx.algorithms.approximation import treewidth
G = nx.barbell_graph(5, 1)
decom = treewidth.treewidth_min_fill_in(G)
但这只会给我以下错误:
ImportError: cannot import name 'treewidth'
我没有成功找到解决方案。任何帮助表示赞赏!
注意:这是我关于SO的第一个问题,因此,请提供有关此问题格式的任何其他反馈。
答案 0 :(得分:0)
您使用哪个版本的networkx软件包以及如何安装它?
我尝试做pip install networkx
,然后使用Python 3.7执行您的代码:
import networkx as nx
from networkx.algorithms import approximation
G = nx.barbell_graph(5, 1)
decom = approximation.treewidth_min_fill_in(G)
print(decom)
,输出为:
(4, <networkx.classes.graph.Graph object at 0x1070d4ef0>)
您可以尝试使用以下方法查看模块的版本:
import networkx
print(networkx.__version__)
以及使用了哪些方法:
import networkx
from networkx.algorithms import approximation
print(dir(approximation))
答案 1 :(得分:0)
如果已安装networkx,请运行pip install networkx
或pip install --upgrade networkx
,然后使用Python 3.7执行代码:
import networkx
from networkx.algorithms.approximation import treewidth
treewidth.treewidth_min_fill_in()
这在我的系统上工作正常。希望这能解决您的问题