如何将 Graphviz 与 Anaconda/Spyder 一起使用?

How to use Graphviz with Anaconda/Spyder?

我正在尝试使用 Spyder 中的 Graphviz(通过 Anaconda 安装)。我无法理解执行此操作所需的内容以及如何加载包、设置变量等。

我对新 Python 和 Graphviz 和 Spyder 用户的直接方法会很棒!

此外,除了创建和 运行ning Graphviz 之外,运行 来自 python 的 Graphviz 如何使用预生成的 .gv 文件?

以下是对我有用的步骤。这些信息中的大部分都是可用的,但散布在几个不同的 Whosebug 帖子和其他网站上。我希望这是一个很好的一站式资源。

  1. 前往 Graphviz website 并下载并安装到您的计算机(不需要为所有用户安装)。

  2. Continuum website下载并安装Anaconda3.5。

  3. 将Graphviz加入环境变量"Path":

    • 转到Computer > Properties > Advanced system settings > Environment Variables,然后在系统变量框中找到"Path"。单击路径并单击编辑。
    • ;C:\Program Files (x86)\Graphviz2.38\bin 附加到 Path 中已经存在的许多路径的末尾。请注意,Graphviz 的路径可能因您而异,因此请确保输入正确的路径。文件夹 "bin" 应该有很多文件,包括 dot.exe 应用程序。
    • 要检查安装,请转到命令提示符并输入:dot -V 这应该 return 安装的 Graphviz 版本。例如,dot - graphviz version 2.38.0。如果这不起作用,请输入 set 并查找 Graphviz 路径。
  4. 转到 Anaconda 命令提示符并输入:pip install graphviz

  5. 重新启动 Spyder 或启动它(如果尚未打开)。

  6. 现在在您的 Python 脚本中添加 import graphviz

  7. 下面是一个示例,说明如何使用 Graphviz 教程中的 Graphviz 创建图形并进行渲染

    import graphviz
    
    dot = graphviz.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')
    
    dot.render('FileName', view=True)
    
  8. 下面是如何从预先生成的 .gv 文件创建图表的示例(至少是探索的起点)

    from graphviz import Source
    Source.from_file('file.gv')
    

有用的链接:

Getting started with Graphviz and Python

Graphviz Attributes

Dot Guide

Another Whosebug Question

使用的版本:

Anaconda 3.5(Spyder 自带)

Graphviz 2.38

我悬赏了另一个问题,但后来意识到有更好的方法:

  • conda install graphviz 安装 GraphViz 的二进制文件, (所以你不需要访问 GraphViz 网站,它们可能会以通常的 conda 方式保持更新。)
  • conda install python-graphviz 安装 GraphViz 的 Python 前端。 (这和pip install graphviz一样,引起了很大的混乱。)

conda graphviz 包中 graphviz 前端 has been patched to support the binaries installed 的 conda 版本,因此对于 graphviz 本身,这应该是您所需要的。

但是,对于 pydot,在 Windows 中,这将不起作用,直到您将这些二进制文件包含在您的 PATH 中。您可以 使用:

import os
os.environ["PATH"] += os.pathsep + 'PATH_STRING'

在调用 pydot 的命令之前。

对于特定的 conda 环境,PATH_STRING 是 C:\Anaconda3\envs\ENV_NAME\Library\bin\graphviz,对于默认环境,C:\Anaconda3\Library\bin\graphviz

(我必须为 Tensorflow 安装 py3.6 环境,因为它还不支持 py3.7 并且 conda install tensorflow 挂了几个小时,试图弄清楚如何降级我的每个包系统。(可能其他安装 GraphViz 的人也是出于同样的原因这样做的。))

  1. 打开Anaconda Prompt
  2. 运行-> anaconda 提示中的“conda install python-graphviz”。
  3. 安装graphviz后复制目录: C:\Users\Admin\anaconda3\Library\bin\graphviz
  4. 打开控制Panel\System\Advanced系统设置
    环境 variables\path\Edit\New
    粘贴复制的目录,然后单击“确定”