无法将networkx图转换为igraph图的问题

3

我希望将用networkx创建的图G转换为igraph格式的g,以便与leidenalg社区检测包一起使用。这曾经对我有效,但现在我遇到了问题。

我在运行Catalina OSX的Mac上,在Jupyter笔记本中使用Python 3。Python-igraph版本为0.7.1.post7。

import numpy as np
import networkx as nx
import igraph as ig
A=np.matrix([[0,7,7,0,0],[7,0,6,0,0],[7,6,0,2,1],[0,0,2,0,4],[0,0,1,4,0]])
G=nx.from_numpy_matrix(A)
nx.write_graphml(G,'graph.graphml')
g = ig.read('graph.graphml',format="graphml")

错误消息显示“模块'igraph'没有属性'read'” 替换最后一行为

g=ig.Read_GraphML('graph.graphml')

该方法并不能消除错误信息。

出于某种原因,这在Python 3.7的Spyder中可以运行。

1个回答

1

我猜测你在虚拟环境中安装了错误的软件包。

有2个库:

  1. igraph(使用pip install igraph安装)
  2. python-igraph(使用brew install igraph && pip install python-igraph安装)。这是包含read方法的那个。

两者都可以用import igraph引用。

尝试运行pip freeze检查你的环境是否安装了正确的软件包。


是的,我已经使用pip install和brew install安装了python-igraph 0.7.1.post7。pip freeze显示python-igraph但没有igraph。 - fishbacp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接