python - 未找到 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\
. 然而,这不是我的情况。我怎样才能找到它?
解决方案
正如我从评论中了解到的那样,您已经使用 pip 安装了 graphviz。问题是,在 pip中名为 graphviz 的包只是 graphviz 应用程序的 python 接口。换句话说,它类似于您尝试使用的 pydotplus 包。
这些包的作用是为您提供一些类和方法,让您在 Python 代码中乱七八糟,当需要渲染图形时,它们只需调用 graphviz 二进制文件并将生成的点源代码发送给它。当然,要让它们工作,你必须在你的机器上安装上面提到的 graphviz 二进制文件。
您需要做的是下载并运行graphviz 安装程序(Windows 的链接),它与 python 和 pip 没有任何连接。安装后,您将在 Program Files 中获得 Graphviz 文件夹,其中包含 graphviz 可执行文件。
在使用 pydotplus 之前,您可能需要将此文件夹添加到您的 PATH 中。
要检查是否一切都已设置,请运行以下命令:
> dot -?
您应该看到点命令手册页。
推荐阅读
- javascript - 如何在不同页面上显示具有不同 API 数据的特定组件
- java - 为什么这种助焊剂不在单线程中执行?
- ios - Swift - 连接设备后在后台发布数据
- timeline.js - 在 patternfly-timeline 中使用 Jalali 日期而不是公历日期
- apache-kafka - 如何在 Webflux 应用程序中制作 Spring Cloud Stream 消费者?
- angular - 如何导航到 .ts 文件
- c# - 带零的 LPAD 未应用于字符串
- python - 带有布尔“过滤器”的 np 快速随机采样
- android - 是否可以在不离开应用程序的情况下在 Flutter 应用程序中拨打电话?
- cython - 如何从头开始设置 windows cython 环境?