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

Graphviz's executables are not found (Python 3.4)

我在 运行宁 Python3.4 Windows 7. 我正在尝试使用 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)

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

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

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

然后,按照given here的回答,我把pydot卸载了(其实我这里用的是pydotplus),重新安装了一遍,还是没有成功。

我已经尝试了几个小时来解决这个问题,但整个 PATH 变量的事情只是令人困惑和沮丧。

据了解,Graphviz2.37 在 windows 上的 PATH 变量存在问题。我卸载了它,删除了与其关联的环境变量,而是下载并安装了较新的测试版 2.39,它现在运行得非常棒。

在 jupyter(ipython) notebook with anaconda in win10 我通过 pip install graphviz

安装 graphviz 后 conda install graphviz 解决了这个问题

我在 Ubuntu(14.04) 上遇到了与 Jupyter 相同的问题。

为了解决这个问题,我将点库添加到 python sys.path

首先:检查dot是否安装,

然后: 找到他的路径 whereis dot -> /local/notebook/miniconda2/envs/ik2/bin/dot

最后在 python 脚本中:sys.path.append("/local/notebook/miniconda2/envs/ik2/bin/dot")

在我的情况下(Win10、Anaconda3、Jupyter notebook)在 "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

我解决了它直接从 https://graphviz.gitlab.io/_pages/Download/Download_windows.html 安装并包含在 windows 路径中:

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

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

重启后windows

当你添加 C:\Program Files (x86)\Graphviz2.38\bin 到 PATH,然后你必须关闭你的 IDE 环境,如 spyder 并重新启动,你将解决 "RuntimeError:make sure the Graphviz executables are on your systems' path"

为了解决这个问题,当你成功安装graphviz2.38后,然后将你的PATH变量添加到系统path.Under系统变量你可以点击路径然后点击编辑并添加;C:\Program Files( x86)\Graphviz2.38\bin 到字符串的末尾 saved.After 那,像 spyper 一样重新启动你的 pythonIDE,然后它运行良好。

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

我在 Ubuntu 16.04 也遇到了这个问题。

除了我已经执行的 pip 安装之外,运行 sudo apt-get install graphviz 已修复。

我和 Windows 10.

有同样的问题

首先,我用下面的命令安装了graphviz-2.38.0没有任何问题...

install -c anaconda graphviz=2.38.0

其次,我用下面的命令安装了pydotplus没有任何问题...

install -c conda-forge pydotplus

在那之后,当我开始可视化我的决策树时,{InvocationException: GraphViz's executables not found}...

出现了以下问题
C:\Users\admin\Anaconda3\lib\site-packages\pydotplus\graphviz.py in create(self, prog, format)
   1958             if self.progs is None:
   1959                 raise InvocationException(
-> 1960                     'GraphViz\'s executables not found')
   1961 
   1962         if prog not in self.progs:

InvocationException: GraphViz's executables not found

在我的例子中,修复它所要做的就是将 graphviz 可执行文件的环境路径放入我的用户 PATH 环境变量中,这修复了它。只要确保它是 YOUR.exe 文件所在的路径 :)

C:\Users\admin\Anaconda3\pkgs\graphviz-2.38.0-4\Library\bin\graphviz

因为没有提到 Mac OS 我会补充说我在 OS X Yosemite 上遇到了同样的问题,我找到的解决方案是 brew install graphviz

这解决了问题,不确定我是否不应该只编辑此列表中的其他答案之一,因为它们似乎都是相同的答案,除了 Python图书馆。

只需安装

conda install graphviz

然后安装

conda install -c conda-forge pydotplus

对于 windows 8.1 和 python 2.7,我按照以下步骤解决了问题

1。下载并安装 graphviz-2.38.msi http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.38.msi

2。设置路径变量

  • 控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量 > 路径 > 编辑
  • 添加'C:\Program Files (x86)\Graphviz2.38\bin'

我在 Anaconda 3 上使用 Windows 10、Python 3.6,遇到了同样的问题。

我已经通过按顺序执行以下操作让它工作了:

  1. 从 Anaconda 终端:pip install pydotplus
  2. 从 Anaconda 终端:conda 安装 pydotplus
  3. 从 Anaconda 终端:pip install graphviz
  4. 从 Anaconda 终端:conda install graphviz
  5. 转到Windows Environment Varialbes、PATH,并在Anaconda 的graphviz 目录下添加了我的dot.exe 文件的位置。

之后工作正常。

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

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

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

** 注 2:**
"the Graphviz bin file address on your system" 可以是 C:\Program Files (x86)\Graphviz2.38\bin 或您在那里安装 Graphviz 的任何其他路径。

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

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

时看到上述错误
import graphviz

那么你有几个选择:

2) 可以通过

调用ipynb中的.exe文件
import os
os.environ["PATH"] += os.pathsep + r'the Graphviz bin file address on your system'

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

3) 如果你想让Jupyter在哪里找到exe文件,你需要设置环境路径。
在 windows 10 中,您可以这样做:
控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量 > 路径 > 编辑 > 新建
然后添加 "the Graphviz bin file address on your system" 在 windows 8 或更低版本中转到:
控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量
然后将 ;(分号)+ "the Graphviz bin file address on your system" 添加到路径字符串
的末尾 注意:记得重启你的机器。

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

然后定义一个变量如下:

记得将变量命名为 Graphviz。最后重启你的电脑,希望它能正常工作。

请使用pydotplus代替pydot

  1. 查找:C:\Users\zhangqianyuan\AppData\Local\Programs\Python\Python36\Lib\site-packages\pydotplus

  2. 打开graphviz.py

  3. 查找第1925行-第1972行,查找函数:

    def create(self, prog=None, format='ps'):
    
  4. 在函数中找到:

    if prog not in self.progs:
        raise InvocationException(
            'GraphViz\'s executable "%s" not found' % prog)
    
    if not os.path.exists(self.progs[prog]) or \
            not os.path.isfile(self.progs[prog]):
        raise InvocationException(
            'GraphViz\'s executable "{}" is not'
            ' a file or doesn\'t exist'.format(self.progs[prog])
        )
    
  5. 在两个块之间添加这个(你的 Graphviz 的可执行路径):

      self.progs[prog] = "C:/Program Files (x86)/Graphviz2.38/bin/gvedit.exe"`
    
  6. 相加后结果为:

    if prog not in self.progs:
        raise InvocationException(
            'GraphViz\'s executable "%s" not found' % prog)
    
    self.progs[prog] = "C:/Program Files (x86)/Graphviz2.38/bin/gvedit.exe"
    
    if not os.path.exists(self.progs[prog]) or \
            not os.path.isfile(self.progs[prog]):
        raise InvocationException(
            'GraphViz\'s executable "{}" is not'
            ' a file or doesn\'t exist'.format(self.progs[prog])
        )
    
  7. 保存修改后的文件就可以运行成功了。

  8. 最好保存成bmp文件,png文件不行。

尝试了很多方法,这才是真正解决问题的方法 - 它适用于 windows 8.1/10 和 python 3。

1。 pip 安装 graphviz

2。所需的关键操作是通过以下步骤设置路径变量:

一个。控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量 > 路径 > 编辑 b.添加 'C:\Program Files (x86)\Graphviz2.38\bin'

我不确定这是否是这个问题的答案,但这似乎也是 "how do I get graphviz to run on my setup?" 话题。我也没有看到任何地方提到 python-graphviz

因此: Ubuntu 16.04,conda Python 3.7,使用 Jupyter 笔记本。

conda install -c anaconda graphviz
conda install -c conda-forge python-graphviz

仅尝试第一个命令后图像无法呈现;他们确实在 运行 第二个之后渲染。

我也安装了 pydot-plus,但没有发现行为、性能或图像分辨率有任何变化。

我尝试设置环境变量。 work.I 我不在 Windows 环境中吗 结合以上方法对我有用:

  1. 已从 https://graphviz.gitlab.io/_pages/Download/Download_windows.html

  2. 下载 graphviz-2.38.zip
  3. 将解压后的文件夹复制到C:\Users\\AppData\Local\Continuum\anaconda3\pkgs\Graphviz2.38

  4. 我在我的代码中调用了 Graphviz 位置

    构建分类器

    import sklearn.datasets as datasets
    import pandas as pd
    from sklearn.tree import DecisionTreeClassifier
    iris=datasets.load_iris()
    df=pd.DataFrame(iris.data, columns=iris.feature_names)
    y=iris.target
    
    dtree=DecisionTreeClassifier()
    dtree.fit(df,y)
    

    构建树

    from sklearn.externals.six import StringIO  
    from IPython.display import Image  
    from sklearn.tree import export_graphviz
    import pydotplus
    import graphviz
    import os
    os.environ\["PATH"\] += os.pathsep + 'C:/Users/tstusr/AppData/Local/Continuum/anaconda3/pkgs/Graphviz2.38/bin'
    
    dot_data = StringIO()
    export_graphviz(dtree, out_file=dot_data,  
                    filled=True, rounded=True,
                    special_characters=True)
    graph = pydotplus.graph_from_dot_data(dot_data.getvalue())  
    Image(graph.create_png())
    

    树的外观如下:

我在尝试通过 pydotplus 和 graphviz 创建决策树时遇到了同样的问题。并使用路径变量的方法解决了这个问题。

以下是我使用的具体步骤:

  1. 虽然我已经通过 conda 安装命令安装了 graphviz,但我从以下路径重新下载了最新的软件包。 https://graphviz.gitlab.io/_pages/Download/Download_windows.html 下载:graphviz-2.38.zip(稳定版)

  2. 已将提取的文件夹复制到 C: 驱动器上的以下路径下。 C:\Program Files (x86)\

  3. 修改了系统路径变量并添加了以下路径。 路径变量:控制面板>系统和安全>系统>高级系统设置>环境变量>路径 C:\Program Files (x86)\graphviz-2.38\release\bin;

  4. 将以上路径添加到环境变量后,重启系统

  5. 它运行良好,我能够将决策树创建为 png。

    enter image description here

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

import os

os.environ['PATH'] = os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"\Library\bin\graphviz"

我在这个问题上被困了很长时间,但过了一段时间我找到了解决方案:

对于所有在 windows 10 中遇到此问题的人,即使在尝试了上述步骤之后,这对我也有效 - 对于 Windows 10 个尝试调试相同错误的用户,以管理员身份启动 CMD(重要!)和 运行 dot -c 然后 运行 dot -v
这解决了我的问题

对于我(Windows 10,Jupyter Notebook)这个问题最简单的解决方案是执行以下操作:

  1. pip 安装 graphviz
  2. 重启 jupyter
  3. 将以下代码放入notebook并执行:
import sys

sys.path.append('C:/Users/usrname/AppData/Local/Continuum/anaconda3/Library/bin/graphviz/')

这是我用过的新鲜解决方案:)

我遇到了同样的问题,我正在使用 Anaconda 和 Jupyter Notebook。

我解决这个问题的方法不是从互联网上安装 Graphiz.zip!

我刚刚做了这些步骤:

  1. 使用>>conda create -n [env_name]
  2. 创建新环境
  3. 在这个新环境中安装 graphviz 库:>> conda install graphviz
  4. 我在笔记本单元格中写下了这些行 运行 它 import os os.environ['PATH'] = os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"\Library\bin\graphviz"

终于,图片出现了,我为此做了一个小聚会,因为我花了3天:(

尝试

import os

os.environ['PATH']=os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"\Library\bin\graphviz"

对我来说(Windows 10 + Pycharm2020)这有效:

  • 已将 C:\Program Files\Graphviz\bin 添加到 PATH(Graphviz 二进制文件的路径)
  • 重启 - 也许PyCharm重启就足够了

我刚遇到同样的问题。这是我的解决方案。

1.) 安装graphviz

确保您可以找到此文件夹 INSTALL_LOCATION\"Graphviz2.38\bin"

2.) 对于 Dot 对象,添加此代码

dot.set_graphviz_executables( {'dot': r'C:\Program Files\Graphviz\bin\dot.exe'})

在graphviz.py中确实提供了手动设置执行文件路径的功能。然后,您应该可以 运行 代码。

仅供参考: 这是来自 set_graphviz_executables

的描述
    This method allows to manually specify the location of the GraphViz
    executables.

    The argument to this method should be a dictionary where the keys are
    as follows:

        {'dot': '', 'twopi': '', 'neato': '', 'circo': '', 'fdp': ''}

    and the values are the paths to the corresponding executable,
    including the name of the executable itself.

为 Anaconda - Jupiternotebook 配置 Graphviz 的完整步骤:

https://graphviz.org/download/

下载并安装 'EXE installer for Windows 10'

环境变量: 添加C:\Program Files\Graphviz 2.44.1\bin到用户路径

环境变量: 添加C:\Program Files\Graphviz 2.44.1\bin\dot.exe到系统路径

安装 graphviz 后检查这些步骤:

  1. pip 安装 graphviz。
  2. pip 安装 pydotplus
  3. conda 安装 pydotplus
  4. 添加环境变量路径(C:\Users<用户名>\anaconda3\Library\bin\graphviz)
  5. 重新启动 anaconda jupiter notebook 内核(如果已经 运行)。

我通过首先卸载所有已安装的 pydot、pydotplus 和 graphvis 版本解决了这个问题

pip uninstall pydot 
pip uninstall pydotplus
pip uninstall graphviz

然后我重新安装了它们:

conda install graphviz
conda install pydot
conda install pydotplus

在Windows

首先,我们需要使用 pip:

安装库
pip install graphviz

然后,我们可以尝试运行执行以下命令(根据其他答案的建议):

conda install graphviz

然而,对我来说,这导致了 HTTP 错误

后参考official documentation, I ended up choosing the path of installing graphviz via Chocolatey Package Manager.

在管理员模式下打开您的shell,然后运行执行以下命令:

choco install graphviz -y

重启内核,问题解决。