对复杂网络进行研究的过程中,networkx与igraph两个扩展包可谓是必不可少的使用工具,之前独自复现过一部分社团划分的算法,学习原理的目的达到后,想利用一下大佬写的代码,但是之前下载并使用的networkx中提供社团划分算法较少且并不十分常用,community中倒是提供了Louvain算法的实现接口,这里暂且不提,相对于networkx包,igraph提供了更多常用的社团划分算法,对于我的工作会产生不小的积极作用。此外igraph底层使用C语言实现,比单纯使用python实现的networkx效率更高
此外由于网上关于igraph的安装介绍对应的igraph的版本比较久远,网传很多坑,但是现在坑已经被“官方”抹平了,具体如何做到的,后续会介绍。网传使用pip install igraph安装后,导入igraph后会报错,必须使用pip install python-igraph命令才可以,之前确实会如此,但是现在并不需要,原因如下图,在igraph.org中介绍了,在0.9.8版本及之后原来由于在PyPI中冲突的包名称,被迫使用python-graph作为名字,如今已经在原igraph包主人的贡献下,python-graph正式更名为igraph。
方式一:
这个方式有些繁琐,可以在如下网址下载whl文件后使用pip本地安装,igraph与pycairo(用于绘制图像)
https://www.lfd.uci.edu/~gohlke/pythonlibs/
但是实际上官方推荐的图形化界面的库是cairocffi
具体 *** 作可以参照这篇博客
但是这里只需要下载igraph而不是python-graph
方式二:
直接命令行安装,就像命令行中介绍的那样,pip 安装igraph第三方库不会再引发冲突
>pip install igraph
>pip install pycairo
然后再python命令行中使用如下代码验证
>>> import igraph as ig
>>> a = ig.Graph.Famous("petersen")
>>> ig.plot(a)
而后会出现下图,说明环境配置成功
此外可以尝试一下如下代码
pip install python-igraph
会出现如下提示
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)