如何在 Anaconda/Spyder 中使用 Graphviz?

新手上路,请多包涵

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

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

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

原文由 Scott G 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
2 个回答

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

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

  2. Continuum 网站 下载并安装 Anaconda3.5。

  3. 将 Graphviz 添加到环境变量“Path”:

    • 转到 Computer > Properties > Advanced system settings > Environment Variables 然后在系统变量框中找到“路径”。单击路径,然后单击编辑。
    • ;C:\Program Files (x86)\Graphviz2.38\bin 附加到 Path 中已经存在的许多路径的末尾。请注意,Graphviz 的路径可能因您而异,因此请确保输入正确的路径。 “bin”文件夹应该有很多文件,包括 dot.exe 应用程序。
    • 要检查安装,请转到命令提示符并输入: dot -V 这应该会返回已安装的 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)

  1. 下面是如何从预先生成的 .gv 文件创建图形的示例(至少是探索的起点)
    from graphviz import Source
   Source.from_file('file.gv')

有用的链接:

开始使用 Graphviz 和 Python

Graphviz 属性

点指南

另一个 StackOverflow 问题

使用的版本:

Anaconda 3.5(随 Spyder 一起提供)

图形可视化 2.38

原文由 Scott G 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

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

graphviz 前端的 conda 版本 已修补以支持 conda 安装的二进制文件 graphviz 包,因此对于 graphviz 本身,这应该是你所需要的。

对于 pydot ,但是,在 Windows 中,除非将这些二进制文件包含在 PATH 中,否则这将不起作用。您可以 在脚本中临时执行此操作

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

在调用 pydot 的命令之前。

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

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

原文由 endolith 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进