pydot.InvocationException:未找到 GraphViz 的可执行文件
Posted
技术标签:
【中文标题】pydot.InvocationException:未找到 GraphViz 的可执行文件【英文标题】:pydot.InvocationException: GraphViz's executables not found 【发布时间】:2015-02-24 08:08:42 【问题描述】:我尝试运行this example 进行决策树学习,但收到以下错误消息:
文件“coco.py”,第 18 行,在 graph.write_pdf("iris.pdf") 文件 "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pydot.py", 第 1602 行,在 lambda 路径, f=frmt, prog=self.prog : self.write(path, format=f, prog=prog)) 文件 "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pydot.py", 第 1696 行,写入 dot_fd.write(self.create(prog, format)) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pydot.py”, 第 1727 行,在创建中 'GraphViz\'s executables not found' ) pydot.InvocationException: GraphViz's executables not found
我看到this post 有类似的错误,但即使我遵循他们的解决方案(卸载然后以相反的顺序重新安装 graphviz 和 pydot),问题仍然存在......我使用的是 MacOS(优胜美地)。
有什么想法吗?非常感谢您的帮助。
【问题讨论】:
请在您的问题中添加您如何安装graphviz
(例如 homebrew、macports 等)。您的 PATH
变量似乎存在问题。
我用过 pip,所以没什么特别的...(sudo pip install graphviz)。
我可以通过手动更改路径变量来修复它吗?如果可以,怎么做?
Graphviz
不是 python 工具。 pypi
的 python 包提供了一种在 python 代码中使用 Graphviz
的便捷方式。您仍然需要安装Graphviz
可执行文件,它们不是pythonic,因此这些软件包不附带。您可以安装这些,例如使用通用包管理器,例如 homebrew
太棒了!我永远的感激之情-谢谢!
【参考方案1】:
cel,在评论中回答了这个问题:
Graphviz 不是 Python 工具。 pypi 的 python 包提供了一个 在 python 代码中使用 Graphviz 的便捷方式。你还是要 安装 Graphviz 可执行文件,它们不是 pythonic,因此不是 随这些包裹一起提供。您可以安装这些,例如有一个 通用包管理器,例如自制软件
就我个人而言,在 ubuntu 14.04 上,我所要做的就是:
sudo apt-get install graphviz
【讨论】:
【参考方案2】:brew install graphviz
pip install -U pydotplus
...在 MacOSX 上为我工作
【讨论】:
此解决方案适用于 MacOS Mojave 版本 10.14.5【参考方案3】:在 Windows 8 上,这为我解决了同样的问题:
import os
os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'
【讨论】:
一个更持久的解决方案是在适当的配置文件中设置环境的PATH
变量(在*nix系统上这通常是~/.bashrc
)。【参考方案4】:
我在用pip安装pydot和graphviz时遇到了同样的问题,然后我找到了答案here。
特别是,我首先卸载了我使用 pip 单独安装的 pydot 和 graphviz(使用 sudo pip uninstall pydot
和 graphviz
相同)。然后,我运行 sudo apt-get install python-pydot
解决了这个问题。
【讨论】:
【参考方案5】:conda install -c anaconda graphviz
conda install -c anaconda pydot
【讨论】:
这对我来说就像在 ios 上的魅力一样。谢谢,@scarin 注意 mac 用户,这是你的答案 - 谢谢,吓人!! Mac 用户不要这样做,你已经重新安装了所有其他模块。【参考方案6】:对于 Windows 用户: 1.安装 Graphviz 2.将Graphviz路径添加到PATH变量 3.重启 PyCharm 或其他编译器。
从 2.31 版开始,Visual Studio 包不再更改 PATH 变量或访问注册表。如果您希望使用 Graphviz 的命令行界面或使用其他调用 Graphviz 程序的程序,则需要自己设置 PATH 变量。
【讨论】:
【参考方案7】:在 Ubuntu 18.04 上也为我工作:
$ sudo apt-get install graphviz
【讨论】:
【参考方案8】:如果您使用的是 mac 操作系统,那么您可能会遇到这个问题。我已经用 pip 安装了 graphviz ,但是可以正常工作。所以我不得不再次用 brew 安装它并为我工作。
使用以下命令
brew install graphviz
【讨论】:
或arch -arm64 brew install graphviz
- 谢谢【参考方案9】:
我遇到了同样的问题,我的问题得到了解决:
-
运行命令
sudo port install graphviz
如果端口出现错误,则首先根据您使用的版本从下面安装端口
https://guide.macports.org/chunked/installing.macports.html
安装后端口运行命令sudo port install graphviz
如果您正在使用 iPython,请重新启动 python 内核并再次运行。
【讨论】:
【参考方案10】:在 mac 上,使用 Brew 安装 graphviz 而不是 pip,请参见链接:
graphviz 信息:http://www.graphviz.org/download/
brew 安装:https://brew.sh/
所以安装 brew 后在终端中输入以下内容应该可以工作:
brew install graphviz
【讨论】:
【参考方案11】:我确实遇到了类似的问题,纠正的方法是改变路径。
这就是我所做的:
将“graphiz”路径从您的计算机复制到环境变量>控制面板中的路径
示例: Graphiz 路径:C:\Apps\Program Files\Continuum\Anaconda2\Library\bin\graphviz)
(我已经将它安装在 Apps 文件夹中。它可能在你的不同路径中)
在环境变量中设置路径:
转到控制面板>控制面板\系统和安全\系统。单击高级设置,然后单击高级。您将在右下角找到环境变量。单击路径进行编辑并保存。关闭您的 IDE 并重新打开它。
它对我有用。
【讨论】:
【参考方案12】:我建议避免使用graphviz。 使用以下替代方法
from sklearn.tree import plot_tree
plt.figure(figsize=(60,30))
plot_tree(dt, filled=True);
【讨论】:
以上是关于pydot.InvocationException:未找到 GraphViz 的可执行文件的主要内容,如果未能解决你的问题,请参考以下文章