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

22
我试图运行这个决策树学习的示例,但是出现了以下错误信息:

File "coco.py", line 18, in graph.write_pdf("iris.pdf") File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pydot.py", line 1602, in lambda path, f=frmt, prog=self.prog : self.write(path, format=f, prog=prog)) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pydot.py", line 1696, in write dot_fd.write(self.create(prog, format)) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pydot.py", line 1727, in create 'GraphViz\'s executables not found' ) pydot.InvocationException: GraphViz's executables not found

我看到了这篇文章关于类似错误的解释,但是即使我按照他们的解决方法(先卸载graphviz和pydot,然后再相反的顺序重新安装),问题仍然存在... 我正在使用MacOS (Yosemite)。
有任何想法吗?感谢帮助。

1
请在您的问题中添加如何安装graphviz的信息(例如homebrew,macports等)。似乎您的PATH变量存在问题。 - cel
7
Graphviz 并不是一个 Python 工具。在pypi上的 Python 包为在 Python 代码中使用 Graphviz 提供了一种方便的方式。但你仍需要安装 Graphviz 可执行文件,这些文件并不是 Pythonic 的,因此不会与这些包一起发布。你可以使用通用的包管理程序(例如 homebrew)来安装它们。 - cel
@cel,你的评论很有价值,完全回答了问题。也许你应该把它们变成一个答案? - Akavall
@Akavall,我并不是很想在这里写一个答案。如果你认为回答这个问题是个好主意,可以把我的评论当作你的答案模板。 - cel
在 Mac OS X 上,我建议从源代码开始进行全新的 Macports 安装,然后安装 GraphViz,sudo port install graphviz。 - Claude COULOMBE
显示剩余3条评论
12个回答

1
在Mac上,使用Brew安装graphviz而不是pip,请参见以下链接:
graphviz信息:http://www.graphviz.org/download/ brew安装:https://brew.sh/ 因此,在安装brew后,在终端中键入以下内容应该可以工作:
brew install graphviz

0
我建议避免使用Graphviz。 可以尝试以下替代方案。
from sklearn.tree import plot_tree
plt.figure(figsize=(60,30))
plot_tree(dt, filled=True);

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