GraphViz的可执行文件未找到:Anaconda-3

6
我想要显示树形结构的输出,但是当我运行下面的脚本时,会收到如下错误信息:

InvocationException: GraphViz's executables not found

我在这里搜索了类似的主题,但大多数是与Mac相关的。我使用的是Windows 10 64位操作系统,并且使用Anaconda-3 64位版本。我希望听到你对此的建议。
#Displaying the decision tree
from sklearn import tree
#from StringIO import StringIO
from io import StringIO
#from StringIO import StringIO 
from IPython.display import Image
out = StringIO()
tree.export_graphviz(classifier, out_file=out)

import pydotplus
graph=pydotplus.graph_from_dot_data(out.getvalue())
Image(graph.create_png())

编辑:我已经重新安装了graphviz和pydotplus模块,但仍然无法工作。

3个回答

8
我有同样的问题。以下是解决方案(适用于Win10、Anaconda3、Jupyter notebook和Python 3.x):
  1. 下载并安装https://graphviz.gitlab.io/_pages/Download/Download_windows.html

  2. conda install graphviz

  3. 将graphviz的安装路径(C:...\graphviz\bin)添加到“控制面板”>“系统和安全”>“系统”>“高级系统设置”>“环境变量”>“Path”>“编辑”>“新建”中。

  4. 非常重要:重新启动您的Jupyter笔记本/计算机。我尝试了重新启动计算机,它起作用了。
此问题在不同的操作系统下也有解答:Graphviz's executables are not found (Python 3.4)

5
我也遇到了类似的问题。像Vamshi一样,我的系统也是Win10。我的配置信息如下:Win10,x64-based系统,Anaconda3,Anaconda Navigator 1.9.6,Python 3.7(确切地说是Spyder 3.3.3)。
我的解决方案也涉及编辑PATH环境变量。以下是具体步骤:
1. 在Anaconda资源管理器窗口中导航至“环境”选项卡。该选项卡通常位于屏幕左上角。
2. 选择您要安装GraphViz软件包的相关环境。对于大多数用户而言,这将是“base(根)”环境。
3. 选择好您要安装GraphViz软件包的环境后,请单击名称右侧的播放符号(例如“base(根)”)。会弹出许多选项,只需从下拉菜单中选择“打开终端”即可。
4. 点击“打开终端”后,命令提示符会在正确位置为您的环境打开。输入以下代码:

conda install graphviz

提示:你也可以使用pip install graphviz,但根据我的经验,这可能会与使用conda安装的其他模块发生冲突。

  1. Anaconda现在会下载Graphviz包并检查其与您安装的所有其他包的兼容性。请耐心等待,这可能需要一些时间,具体取决于您的系统和网络连接。

  2. 安装完成后,请退出命令提示符并返回您安装了Graphviz的环境(可能是“base (root)”)。从下拉菜单中选择“Channels”下拉菜单左侧的“installed”选项。在右侧的搜索框中键入“graphviz”,并检查包是否已成功安装在您选择的环境中。

  3. 现在,此操作已完成,请打开使用某些Graphviz功能的.py脚本并执行该脚本。很可能您仍然会看到警告消息,例如:“未找到GraphViz的可执行文件”。警告消息中将给出某个文件位置地址。对我而言,这个文件位置是“C:\ Users \ David \ Anaconda3 \ Library \ bin \ graphviz”,但根据您的安装过程和计算机设置,可能会有所不同。请确保复制此文件路径。

  4. 现在,我们需要编辑系统的环境变量。在这里要非常小心。首先,只需按下Windows启动键以打开“开始”菜单。之后,只需键入“环境变量”。Windows应该给您的第一个建议是:“编辑系统环境变量”。单击此链接。

  5. 现在,您应该在“高级”选项卡的“系统属性”菜单上。点击此菜单底部的“环境变量”按钮 -> 在新菜单中选择路径 -> 点击“编辑” -> 点击“新建” -> 在此框中粘贴来自Python警告框的链接。对我而言,这是“C:\ Users \ David \ Anaconda3 \ Library \ bin \ graphviz”,但可能会有所不同。敲回车。

  6. 路径菜单中应出现一个新行,其中包含刚输入的确切地址。

  7. 关闭所有程序并重新启动计算机。这是必要的,以使新路径生效。

  8. 重新打开Anaconda Explorer,选择您安装GraphViz的环境,并从Anaconda Explorer运行Spyder。

  9. 重新运行使用GraphViz功能的.py脚本。错误消息应已消失,并且该软件包应按预期运行。


0

Vermundir的回答帮助解决了我的问题。

然而,关于第9步,你需要确定正确的路径。在我的情况下,Python错误没有包含任何路径信息。要找到anaconda3中bin目录的正确路径(你需要在该路径后添加\graphviz),请在ipython上运行以下两行代码:

import os
os.environ 

扫描 os.environ 的输出,你会在 'PATH' 列表下找到 anaconda3 bin 目录的路径。例如,你可能会找到这样的一个路径:

C:\\Users\\your_username\\AppData\\Local\\Continuum\\anaconda3\\Library\\bin

然后按照下面所示的方式将\graphviz路径追加到该路径中:

C:\Users\your_username\AppData\Local\Continuum\anaconda3\Library\bin\graphviz 

这是您在单击“新建”时输入的路径,步骤9。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接