OSError: `pydot` failed to call GraphViz.Please install GraphViz (https://www.graphviz.org/) and ensure that its executables are in the $PATH.
为了保持教程的完整性,从头开始说:
1,安装Graphviz软件
https://graphviz.gitlab.io/_pages/Download/Download_windows.html
下载smi文件一路next安装即可
2,配置Graphviz软件环境变量
添加安装目录下的 bin 文件到 系统变量 Path 下,我安装在了 D:\Graphviz2.38\,因此
Path=D:\Graphviz2.38\bin;
3. GraphViz 找不到的问题,是因为在 win + conda 环境下默认后缀为 .bat,看代码:
import pydot_ng as pydot
print(pydot.find_graphviz())
import pydot
print('检测到的系统变量为:%s' % (os.environ.get('PATH', '')))
print('当前系统是否为 window: %s' % (pydot.is_windows()))
print('当前环境是否使用了conda: %s' % (pydot.is_anacoda()))
print('执行文件的后缀为:%s' % (pydot.get_executable_extension()))
可以看到,并没有 dot.bat 在上述路径中,怎么办呢?
还记得刚才添加的 Path 吧,那我就在 D:\Graphviz2.38\bin 路径下复制出来一个
把 dot.exe ==> 复制一份重命名为 dot.bat,确实是找到了(PS:我的依然报错,这显然不是很好的解决办法)。
既然这样,我就删除了刚才复制出来的 dot.bat,寻找其他的办法。
我在 (https://github.com/pydot/pydot/issues/205)中看到,
解决找不到的方法:
conda install -c anaconda graphviz
原因:
pydot通过conda安装,它只支持conda安装的graphviz。
可以看到,在虚拟环境 的 \Library\bin 中已经可以看到 dot.bat 了
网上也有的说:
改源码,我不是太喜欢这种方式。大家可以自主选择