【问题标题】:How do I make sure the Graphviz executables are on my system's PATH?如何确保 Graphviz 可执行文件位于我系统的 PATH 中?
【发布时间】:2018-09-24 04:12:15
【问题描述】:

我正在使用 Python 3 在 Sublime Text 3 上使用 Graphviz。当我运行此代码时:

data = tree.export_graphviz(dtGini[55], out_file = None)
graph = graphviz.Source(data)
graph.render("testingthis")

我收到以下错误:

FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

graphviz.backend.ExecutableNotFound: failed to execute ['dot', '-Tpdf', '-O', 'testingthis'], make sure the Graphviz executables are on your systems' PATH

它似乎找不到所需的文件。在 Sublime Text 3 中,我对 Conda 的用户设置是:

{
// executable is the path to anaconda's python
// this python executable is used in order to find conda
"executable": "C:/ProgramData/Miniconda3/python.exe",

// Directory in which the conda envs are stored
// Default location is the user's home directory
"environment_directory": "C:/ProgramData/Miniconda3/envs",

// configuration is the path to conda's configuration file
"configuration": "~/.condarc"
}

我的控制面板中有这些环境变量:

C:\ProgramData\Miniconda3\Scripts\
C:\ProgramData\Miniconda3\
C:\ProgramData\Miniconda3\conda-meta\history
C:\Users\X\AppData\Local\conda\conda\pkgs
C:\Users\X\AppData\Local\conda\conda\pkgs\graphviz-2.38-hfd603c8_2\Library\bin
C:\Users\X\AppData\Local\conda\conda\pkgs\graphviz-2.38-hfd603c8_2\Library\bin\dot.exe

在 Anaconda 提示符下,当我输入 Python 时,按回车键,然后输入“import graphviz”,我没有收到任何错误。在 Sublime Text 3 中,如果我只有一个类似 graph.py 的文件

import graphviz

它执行没有任何错误。

关于如何解决这个问题的任何想法?它快把我逼疯了。谢谢!

【问题讨论】:

  • 你需要指定Graphviz的'bin'库的路径。下面的例子。 import os os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'

标签: python scikit-learn anaconda graphviz


【解决方案1】:

我在这里遵循@aprameyo roy 发布的解决方案> "RuntimeError: Make sure the Graphviz executables are on your system's path" after installing Graphviz 2.38

需要的系统路径在我的 PC 上找到了一些 - 我使用 Ananconda 安装了 graphviz 包。

将这两个命令添加到我的 jupyter notebook 解决了这个问题 - 将 C:/ 地址更改为您的安装位置:

(PS。我认为您需要在每次内核重启后重新运行它。)

# extra step to allow graphviz to be found 
import os
os.environ["PATH"] += os.pathsep + 'C:/Users/jed/Anaconda3/envs/keras/Library/bin/graphviz/'

【讨论】:

    【解决方案2】:

    我的解决方案是从他们的网站下载 Graphviz(即使我已经从 CMD 下载了它),然后更改 PATH 变量以反映安装位置。

    【讨论】:

      【解决方案3】:

      如果窗口我通过以下步骤解决了这个问题:

      第一步,安装 stable_windows_10_cmake_Release_Win32_graphviz-install-2.49.3-win32.exe

      第二步。在系统变量“C:\Program Files (x86)\Graphviz\bin”中添加路径

      2.1 在 Windows 任务栏上,右键单击 Windows 图标并选择系统。

      2.2 在设置窗口的相关设置下,点击高级系统设置。

      2.3 在高级选项卡上,单击环境变量。

      第三步。在我的代码中添加以下行

      import os
      import graphviz
      os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz/bin/'
      graph_data = "your  graph data"
      fie_ext = 'png'
      temp_img = 'temp_file'
      temp_img_name = "".join([temp_img, '.'+fie_ext])
      my_graph= graphviz.Source(graph_data)
      my_graph.render(temp_img,format=fie_ext, view=False)
      

      【讨论】:

      • 第二步:哪个系统变量? Step3:为什么在执行第2步时需要python中的PATH设置?
      • @albert - Windows 上的环境变量 - 在 Windows 任务栏上,右键单击 Windows 图标并选择系统。在设置窗口的相关设置下,单击高级系统设置。在“高级”选项卡上,单击“环境变量”。
      • 还有哪个环境变量?我知道在哪里可以找到它们,并且它是 Path 变量,但这必须在答案中提及。另外我仍然不明白为什么需要第 3 步,我认为第 2 步或第 3 步就足够了。
      • @albert 您可以忽略第 3 步,这对其他人有帮助,这些是 graphviz 的新功能,所以我尝试在这里提供示例代码。
      猜你喜欢
      • 2021-04-23
      • 2016-05-05
      • 1970-01-01
      • 2022-11-16
      • 2020-05-25
      • 2019-02-03
      • 2017-05-08
      • 1970-01-01
      • 2016-03-02
      相关资源
      最近更新 更多