解决failed to execute PosixPath(‘dot‘) 或者GraphViz‘s executables not found
在网上找了很多方法都没解决,所以写一篇文章帮助和我遇到同样问题的人
解决方法:
因为python解释器会解释转移字符,因此在环境变量中把\bin换成\\bin即可
解决过程:
系统:win10
已安装pip install graphviz,并在graphviz官网下载了相应软件安装在了电脑上,也配置了环境,但在jupyter中运行代码出现了无法找到dot路径(failed to execute PosixPath(‘dot‘) make sure the Graphviz executable on PATH),尝试了很多办法,包括安装pygrahviz与pydotplus等,在尝试的过程中又出现了不能发现Graphviz可执行文件的错误(GraphViz’s executables not found)。
因此怀疑是环境没有配置成功,但是在命令行中输入dot -version是能够显示graphviz的版本信息的,也就是说环境变量其实是配置成功了的
接下来,我尝试使用网上的方法,通过代码的方法把路径添加到环境变量中,我一开始查看了os.environ[‘PATH’],这里面的路径确实是不包含GraphViz的bin路径和bin\dot.exe路径,于是我按照下面的代码进行了添加
import os
os.environ["PATH"]+=os.pathsep+'C:\Program Files\Graphviz\bin\dot.exe'
os.environ['PATH']
我发现,环境变量中确实多了一条路径,但不是我想要的\bin\dot.exe,这时候我才意识到是python解释器在解释\bin的时候把\b作为转义字符给转换成了ASCII码。
而我最初设置的环境变量中的路径也是一个斜杠,遇到后面的b就被当作转义字符了,所以要把环境变量中的\换成\\就可以了。