找不到Graphviz的可执行文件(Python 3.4)

Mor*_*a R 17 python path graphviz pydot

我在Windows 7上运行Python3.4.我正在尝试使用graphviz的Python接口.这是我打算运行的脚本:

from graphviz import Digraph
import pydotplus

dot = Digraph(comment='The Round Table')

dot.node('A', 'King Arthur')
dot.node('B', 'Sir Bedevere the Wise')
dot.node('L', 'Sir Lancelot the Brave')
dot.edges(['AB', 'AL'])
dot.edge('B', 'L', constraint='false')

print(dot.source)
dot.render('test-output/round-table.gv', view=True)
Run Code Online (Sandbox Code Playgroud)

我在运行时收到以下错误:

RuntimeError: failed to execute ['dot', '-Tpdf', '-O', 'test-output/round-table.gv'], make sure the Graphviz executables are on your systems' path
Run Code Online (Sandbox Code Playgroud)

现在我确信我已正确安装了正确的依赖项.我首先尝试设置正确的环境变量.graphviz可执行文件位于C:\ Program Files(x86)\ Graphviz2.37\bin,所以我转到了Environment Variables部分.那里有两个部分:用户变量和系统变量.在系统变量下我单击路径然后单击Edit并添加; C:\ Program Files(x86)\ Graphviz2.37\bin到字符串的末尾并保存.这并没有清除错误.

然后,按照这里给出的答案我卸载了pydot(实际上我在这里使用pydotplus)并重新安装它,但仍然没有成功.

我一直在努力解决这个问题,而整个PATH变量只是令人困惑和令人沮丧.

小智 16

在我的情况下(Win10,Anaconda3,Jupyter笔记本)"conda install graphviz"我必须添加到PATH后:C:\Users\username\Anaconda3\Library\bin\graphviz

修改PATH goto Control Panel > System and Security > System > Advanced System Settings > Environment Variables > Path > Edit > New

  • 我必须重新启动计算机,以便 PyCharm 使用新路径 (2认同)

小智 12

我在Ubuntu 16.04上也有这个问题.

通过运行sudo apt-get install graphviz以及我已执行的pip安装来修复.


小智 8

在win10上使用anaconda的jupyter(ipython)笔记本我通过conda install graphviz安装graphviz之后解决了这个问题pip install graphviz


Veg*_*iet 7

因为没有提到Mac OS,所以我要补充一点,我在OS X Yosemite上也遇到了同样的问题,因此我找到的解决方案是 brew install graphviz

这样就解决了问题,不确定我是否应该只编辑此列表中的其他答案之一,因为它们似乎都是相同的答案,因此,除了Python库外,还需要安装一个官方软件包。

  • 非常感谢,它也适用于 OS X Mojave,似乎 pip install 命令仅将工具的路径作为包装器处理,但真正的可执行文件必须手动安装,在这种情况下使用 brew。 (3认同)

She*_* Fn 6

只需安装

conda install graphviz
Run Code Online (Sandbox Code Playgroud)

然后安装

conda install -c conda-forge pydotplus
Run Code Online (Sandbox Code Playgroud)


Reg*_*hew 6

如果您使用的是 Win10,请安装 Graphviz(链接),然后使用以下命令添加路径。

import os
os.environ["PATH"] += os.pathsep + 'C:\Program Files (x86)\Graphviz2.38/bin/'
Run Code Online (Sandbox Code Playgroud)


Afs*_*iri 6

请注意,我使用的是 Windows 10。以下某些内容可能适用于其他版本的 Windows 或操作系统,也可能不适用于:

** 注 2:**
“您系统上的 Graphviz bin 文件地址”可以是C:\Program Files (x86)\Graphviz2.38\bin或您安装 Graphviz 的任何其他路径。

我们不仅对 Graphviz 有问题,而且对我们想要在 Jupyter 中使用的其他外部 EXE 文件也有问题。
原因是当 jupyter 想要导入一个包时,它会在工作目录中查找它,当它找不到该包时,它会返回此类错误。
我们可以做的是解决这个问题如下:
1)检查您的系统上是否安装了 Graphviz,如果没有,您可以从以下位置下载并安装它:

https://graphviz.gitlab.io/_pages/Download/Download_windows.html
然后安装。安装 Graphviz 时,请记住安装位置(哪个文件夹中)。如果您在使用时看到上述错误

import graphviz
Run Code Online (Sandbox Code Playgroud)

那么你有几个选择:

2)您可以通过以下方式调用ipynb中的.exe文件

import os
os.environ["PATH"] += os.pathsep + r'the Graphviz bin file address on your system'
Run Code Online (Sandbox Code Playgroud)

根据我的经验,它仅适用于我正在使用的同一个 ipynb,每次打开笔记本时我都需要调用这行代码。

3)如果你想让Jupyter在哪里找到exe文件,你需要设置环境路径。
在 Windows 10 中,您可以执行以下操作:
控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量 > 路径 > 编辑 > 新建
,然后添加“系统上的 Graphviz bin 文件地址” 在 Windows 8 或更低版本中转到:
控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量
,然后将 ;(分号)+“系统上的 Graphviz bin 文件地址”添加到路径字符串的末尾
注意:记得重新启动计算机。

4)即使这不起作用,定义一个变量:
控制面板>系统和安全>系统>高级系统设置>环境变量,然后:

开始定义环境变量

然后定义一个变量如下: 记住将变量命名为 Graphviz

请记住将变量命名为 Graphviz。最后重新启动你的电脑并希望它能正常工作。


小智 6

我在 Jupyter Notebook 中遇到了同样的问题。添加这个,你就可以开始了。

import os

os.environ['PATH'] = os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"\Library\bin\graphviz"
Run Code Online (Sandbox Code Playgroud)


小智 5

我解决了直接从https://graphviz.gitlab.io/_pages/Download/Download_windows.htmlWindows路径(包括Windows路径)安装的问题:

C:\Program Files (x86)\Graphviz2.38\bin

C:\Program Files (x86)\Graphviz2.38
Run Code Online (Sandbox Code Playgroud)

重新启动Windows之后


小智 5

当你将C:\ Program Files(x86)\ Graphviz2.38\bin添加到PATH时,你必须关闭你的IDE环境,如spyder并重新启动,你将解决"RuntimeError:确保你的系统上有Graphviz可执行文件" '路径'


小智 5

要解决这个问题,当你成功安装graphviz2.38后,将你的PATH变量添加到系统路径中。在系统变量下,你可以单击Path,然后单击编辑并添加;C:\Program Files (x86)\Graphviz2.38\ bin 到字符串末尾并保存。之后,像spyper一样重新启动你的pythonIDE,然后它就可以正常工作了。

不要忘记关闭 Spyder 然后重新启动。


Mor*_*a R 3

看来,Graphviz2.37 在 Windows 上的 PATH 变量存在问题。我卸载了它,删除了与之相关的环境变量,然后下载并安装了较新的 beta 版本 2.39,现在它就像一个魅力一样。