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

Posted

技术标签:

【中文标题】未找到 GraphViz 的可执行文件:Anaconda-3【英文标题】:GraphViz's executables not found : Anaconda-3 【发布时间】:2018-01-25 13:04:50 【问题描述】:

我正在尝试显示树输出,但是当我运行下面的脚本时,我收到如下错误:

InvocationException:未找到 GraphViz 的可执行文件

我在这里搜索过类似的主题,但大多数都与 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 模块,但现在仍在工作。

【问题讨论】:

【参考方案1】:

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

但是,关于第 9 步,您需要确定正确的进入路径。在我的情况下,Python 错误不包含任何路径。要在 anaconda3 中找到 bin 目录的正确路径(需要在其中追加 \graphviz),请在 ipython 上运行以下 2 行代码:

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 步中单击“新建”时输入的路径。

【讨论】:

【参考方案2】:

我也有类似的问题。和 Vamshi 一样,我也有类似的 Win10 系统。我的规格; Win10,基于 x64 的系统,Anaconda3,Anaconda Navigator 1.9.6,Python 3.7(准确地说是 Spyder 3.3.3)。

我的解决方案还涉及编辑 PATH 环境变量。这是一个分步计划:

    导航到 Anaconda 浏览器窗口中的“环境”选项卡。您应该能够在屏幕的左上角找到它。

    选择您要安装 GraphViz 包的相关环境。对于大多数用户来说,这只是“基本(根)”环境。

    选择好安装 GraphViz 的环境后,单击环境名称右侧的播放符号(例如“base (root)”。一些选项应该会弹出。只需从下拉菜单中选择“打开终端”选项即可。

    当您单击“打开终端”时,将在适合您环境的正确位置打开命令提示符。输入以下代码;


conda install graphviz

PS:您也可以使用 pip install graphviz,但根据我的经验,它可能会导致与使用 conda 安装的其他模块发生冲突。

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

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

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

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

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

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

    关闭所有程序并重新启动您的 PC。这是新路径生效所必需的。

    重新打开 Anaconda Explorer,选择安装 GraphViz 的环境,然后从 Anaconda Explorer 运行 Spyder。

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

【讨论】:

【参考方案3】:

我有同样的问题。这是((Win10,Anaconda3,Jupyter notebook,python 3.x)的解决方案

    下载并安装https://graphviz.gitlab.io/_pages/Download/Download_windows.html

    conda 安装 graphviz

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

    非常重要:重新启动您的 Jupyter 笔记本/机器。我试过重启机器,它成功了。

这里针对不同的操作系统回答了这个问题:Graphviz's executables are not found (Python 3.4)

【讨论】:

以上是关于未找到 GraphViz 的可执行文件:Anaconda-3的主要内容,如果未能解决你的问题,请参考以下文章

InvocationException:未找到 GraphViz 的可执行文件

pydot.InvocationException:未找到 GraphViz 的可执行文件

未找到 xcode 13 可执行文件

为啥在查看证书详细信息之前,数字签名的可执行文件会被视为未签名

`pydot` 调用 GraphViz 失败。请安装 GraphViz 并确保其可执行文件在 $PATH 中

如何垂直而不是水平地制作点(graphviz)布局未连接的节点?