环境说明
wsl Ubuntu20.04
走过的一些可能有用的弯路
由于pycairo要求python3.7+,但是之前Ubuntu上有个3.6的python环境,所以就安装了python3.8:
sudo apt install python3.8
然后python3命令还是链接到python3.6,结果就yongln -s
改了半天,但是反而好像把环境搞崩了。于是乎狠下心来直接把py桃红。8和python3.6都卸载了,命令如下:
sudo apt-get remove python3.8
sudo apt-get autoremove
sudo apt-get remove python3.6
sudo apt-get autoremove
然后玄学又神奇的事情发生了,python3.6卸载干净了,而且他自动给我把python3.8安装好了。而且这期间我没有再更改/usr/bin/python3
的软链接什么的。
python3.8环境好了还得再安装个pip3,更神奇的是我之前的pip似乎也没有了,于是两个都安装一下:
python -m ensurepip
python -m pip install --upgrade pip
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip
安装pycaico
pip3 install pycairo
结果报错如下:
报错的意思是少这个1pkg-config
包,那安装一下就好了:
sudo apt install pkg-config
安装完继续pip3 install pycairo
安装pycairo,结果又遇到了下面的报错:
这时候突然意识到,应该是缺少了cairo >= 1.15.10
的问题,然后查了一下pycairo官网,确实有这个说法:
然后就继续去cairo官网看怎么安装cairo,如下图:
所以直接按照命令安装就好了,命令如下:
sudo apt-get install libcairo2-dev
然后继续pip3 install pycairo
安装pycairo,就可以成功安装了:
测试
用igraph
读取gml文件并调用plot()
来测试是否可以绘图。当然需要安装,igraph官网:
pip3 install igraph
gml格式文件来源,这个网站感觉本身也很值得收藏。在测试中用的是海豚的数据集。
测试代码如下:
import igraph as ig
import matplotlib.pyplot as plt
inputfilepath = "./dolphins/dolphins.gml"
g = ig.load(inputfilepath)
fig, ax = plt.subplots(figsize=(10,10))
ig.plot(g, target=ax)
fig_path = "graph.png"
plt.savefig(fig_path, bbox_inches='tight', dpi=600)
print("Finished!")
这里有个小细节就是WSL没有安装图形化界面的话plt.show()
命令是没有办法显示图片的,所以需要把图片存下来后再查看。结果如下图: