首页 > 解决方案 > 未找到 GraphViz 的可执行文件 - 为什么通过 pip 安装 graphViz 后没有安装可执行文件?

问题描述

我在虚拟环境(Windows 8.1)中安装了 pydotplus 和 graphviz。现在我想可视化决策树。但是 pydotplus 无法找到 GraphViz 的可执行文件。

from sklearn import tree
from sklearn.datasets import load_iris
import pydotplus
from IPython.display import Image

iris = load_iris()
X,y = iris.data[:,2:], iris.target

clf = tree.DecisionTreeClassifier(max_depth=2)
clf.fit(X,y)
dot_data = tree.export_graphviz(clf,
                     out_file=None,
                     feature_names=iris.feature_names[2:],
                     class_names=iris.target_names,
                     rounded=True,
                     filled=True)


graph = pydotplus.graph_from_dot_data(dot_data)
Image(graph.create_png())

人们通过在 PATH 中添加 GraphViz bin 目录来解决这个问题。显然这个目录通常是C:\Program Files (x86)\Graphviz2.34\bin\. 然而,这不是我的情况。我怎样才能找到它?

标签: pythongraphvizpydot

解决方案


正如我从评论中了解到的那样,您已经使用 pip 安装了 graphviz。问题是,在 pip中名为 graphviz 的包只是 graphviz 应用程序的 python 接口。换句话说,它类似于您尝试使用的 pydotplus 包。

这些包的作用是为您提供一些类和方法,让您在 Python 代码中乱七八糟,当需要渲染图形时,它们只需调用 graphviz 二进制文件并将生成的点源代码发送给它。当然,要让它们工作,你必须在你的机器上安装上面提到的 graphviz 二进制文件。

您需要做的是下载并运行graphviz 安装程序(Windows 的链接),它与 python 和 pip 没有任何连接。安装后,您将在 Program Files 中获得 Graphviz 文件夹,其中包含 graphviz 可执行文件。

在使用 pydotplus 之前,您可能需要将此文件夹添加到您的 PATH 中。

要检查是否一切都已设置,请运行以下命令:

> dot -?

您应该看到点命令手册页。


推荐阅读