在决策树可视化时,用到了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 可改可不改,平时不太用得到。