我希望拍摄在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')
不能消除错误消息。
由于某些原因,这在Spyder和Python 3.7中确实有效
答案 0 :(得分:1)
我的猜测是您在virtualenv中安装了错误的软件包。
有2个库:
pip install igraph
)brew install igraph && pip install python-igraph
)。这是包含read
方法的方法。两者都可以称为import igraph
。
尝试运行pip freeze
来检查您的环境中是否安装了正确的软件包。