MAC使用Graphviz包报错failed to execute [‘dot‘, ‘-Kdot‘, ‘-Tsvg‘],make sure the Graphviz executables are

  • Post author:
  • Post category:其他


在决策树可视化时,用到了Graphviz包,在安装Graphviz包时遇到了以下问题。



错误描述:

ExecutableNotFound: failed to execute [‘dot’, ‘-Kdot’, ‘-Tsvg’], make sure the Graphviz executables are on your systems’ PATH



错误原因分析:

起初以为原因是未安装graphviz模块,使用conda install python-graphviz之后,发现还是不行,后来用 conda uninstall python-graphviz 卸载之后重新安装还是不行。

最后才发现

需要先安装graphviz程序



说明一下,graphviz这个包,使用conda install python-graphviz 安装后,

这只安装了graphviz的pyhon调用接口,使用的话还需要下载graphviz的安装文件。


下面说一下mac上安装graphviz的步骤。



解决方案:

mac 上可以使用以下命令安装graphviz包

brew install graphviz

其中,homebrew 是一种mac的包管理器,能够下载、安装、更新和管理所有的软件工具



可能存在的问题:

(1)mac 上未安装homebrew

homebrew的下载方式在其官网有命令,直接复制到命令行即可。

/bin/bash -c "$(curl -fsSLhttps://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

使用官网推荐的下载方式,需要能够上外网,不然下载速度很慢。

国内下载安装homebrew,可以参考这篇文章

https://www.cnblogs.com/xibushijie/p/13335988.html


homebrew 下载好之后,用以下命令安装graphviz包。

brew install graphviz

(2)未更换homebrew镜像源

我在使用brew install graphviz安装graphviz包时出现了这个错误:


错误描述:


LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54


错误原因:


使用homebrew安装软件包的时候,使用的是homebrew 原生的镜像源,原生镜像源在国外,由于网络传输问题,经常断开,因此需要更换镜像源。以下是将homebrew的默认镜像更换为阿里镜像源的过程。


解决方案:


按照以下三步,可以将homebrew的默认的镜像源替换为阿里的镜像。

1.替换 brew.git 仓库地址:

#进入存储仓库的目录中
cd "$(brew --repo)"
#git remote set-url命令用于更改现有远程仓库的 URL。
git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git 

2.替换 homebrew-core.git 仓库地址

cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git

3、替换 homebrew-bottles 访问地址


如果shell是Bash,使用以下命令:

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profile
#更新.bash_profile
source ~/.bash_profile


如果shell是Zsh的:

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc


其中,shell使用的是bash还是zsh可以用以下命令去看

echo $SHELL

注:MacOS10.15已经把默认的shell软件改成zsh的了。MacOS10.15以前是Bash

在完成镜像源的更改以后,就可以使用下面的命令快乐的安装了

brew install graphviz

最后的最后,大概的讲一下homebrew包管理器。

homebrew安装软件的时候,默认的仓库名和仓库路径为: brew、homebrew-core 、homebrew-bottles、homebrew-cask,以下对这四个repo加以简单说明。

名称 说明
brew homebrew 源代码仓库
homebrew-core homebrew 核心源
homebrew-bottles 预编译二进制软件包
homebrew-cask homebrew用于下载已经编译好的应用软件,大多是带有图形界面的软件

因此需要更改brew、homebrew-core 、homebrew-bottles的镜像,homebrew-cask 可改可不改,平时不太用得到。

最最后,给大家看一下我画出来的图

决策树可视化结果



版权声明:本文为qq_32731311原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。