踩了无数坑之后,终于把pygraphviz安装好了。
首先先说明我的配置情况,我是在pycharm里面使用anaconda的虚拟环境运行项目。要安装pygraphviz得先满足三个前置条件:
(1)已安装python(version 3.10, 3.11, or 3.12)
(2)已经安装Graphviz
(3)已经有C/C++ Compiler
1.python的安装不用我说,网上有很多教程
2.安装Graphviz有两个方法,第一个是直接在pycharm的终端里面输入命令安装:
pip install graphviz
注意:安装前先把pip升级到最新版本,除了pip之外,wheel,setuptools这两个包也升级到最新版本。如果下载慢的话,可以配置镜像源,我使用的是清华的。
方法如图:
清华镜像源网址:
https://pypi.tuna.tsinghua.edu.cn/simple/
第二是直接进入anaconda.navigator,进入后选择你使用的虚拟环境,点击not install,然后在右边的搜索框里搜索graphviz,然后选好你想要的版本后进行下载安装,因为我已经安装了graphviz,所以我选择另一个包进行示范
这样安装完后还不够,因为此时安装的只是接口,我们还要安装图形库,进入网址:graphviz,选择适合自己操作系统的压缩包然后下载。
下载完成后解压缩,然后进入bin目录下,把bin目录的地址写进系统变量path里面,然后确认
安装好后,可在命令行里面输入
dot -version
检查是否安装成功,显示出相应信息即为成功
(3)安装C/C++ Compiler,进入网站:Microsoft C++ 生成工具
下载好后运行它
在进入单个组件进行勾选,
选好后点击下载,下载完后电脑重启一下。
(4)前置条件满足后,正式安装pygraphviz,和之前一样,进入anaconda.navigator,进入后选择你使用的虚拟环境,点击not install,然后在右边的搜索框里搜索pygraphviz进行安装。
安装好后如图:
至此,所有的安装都完成了,我们可以使用了,但是使用时要配备你之前的那个虚拟环境,我新建一个项目为例:
位置可以自己设置,但是基础解释器你要用你之前那个虚拟环境的解释器(因为你的包都是按在虚拟环境里的),对我来说就是使用experiment_env这个环境的解释器,同时一定要勾上继承全局站点软件包,如果不勾的话,项目新建后是没有虚拟环境里的包的,新建后graphviz和pygraphviz就能看见了
ps:conda里面的pygraphviz的版本目前最高只有1.9,但是pygraphviz实际最高已经1.13了,我尝试过点击升级,但是会报错,然后我就不想管了,反正1.9也能正常使用
运行实例:
import networkx as nx
import matplotlib.pyplot as plt
#记得先把networkx ,matplotlib的包安上哦
# 创建一个有向图
G = nx.DiGraph()# 添加节点和边
G.add_edges_from([(1, 2), (1, 3), (2, 4), (2, 5), (3, 6), (3, 7), (4, 8), (4, 9)])# 使用 Graphviz 布局进行分层次显示
pos = nx.nx_agraph.graphviz_layout(G, prog='dot')# 绘制图形
nx.draw(G, pos, with_labels=True, arrows=True, node_size=1000, node_color='lightblue', font_size=12, font_weight='bold')
plt.show()