【问题标题】:How to use Graphviz with Anaconda/Spyder?如何将 Graphviz 与 Anaconda/Spyder 一起使用?
【发布时间】:2016-08-20 12:53:44
【问题描述】:

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

对于一个新的 Python 和 Graphviz 和 Spyder 用户来说,我直截了当的方法会很棒!

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

【问题讨论】:

    标签: python-3.x anaconda graphviz spyder


    【解决方案1】:

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

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

    2. Continuum website下载并安装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)
      
    8. 以下是如何从预先生成的 .gv 文件创建图表的示例(至少是探索的起点)

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

    有用的链接:

    Getting started with Graphviz and Python

    Graphviz Attributes

    Dot Guide

    Another StackOverflow Question

    使用的版本:

    Anaconda 3.5(Spyder 自带)

    Graphviz 2.38

    【讨论】:

    • 在 Anaconda 5.3.1 和 Windows 上,二进制文件已经安装在 C:\Anaconda3\envs\env_name\Library\bin\graphvizC:\Anaconda3\Library\bin\graphviz(默认环境)中
    • 其实我觉得我错了。 conda install graphviz 按照我之前的评论安装二进制文件。 pip install graphviz 为 GraphViz 安装 python 前端。 conda install python-graphviz 也安装了 python 前端。因此,如果您使用conda install graphviz python-graphviz,则无需访问 GraphViz 网站。
    【解决方案2】:

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

    • 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 中,否则这将不起作用。您可以do this temporarily within your script 使用:

    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 的人也是出于同样的原因。))

    【讨论】:

    • Then in Windows, you need to add the binaries to your PATH,这是自找的麻烦。因此我投了反对票。
    • @CarlosCordoba 为什么要在PATH 中添加/ 附录是 麻烦?
    • @albert,一般来说给PATH添加新目录还不错,但是@endolith提到的那个特别危险,因为它包含很多可能与其他Anaconda冲突的二进制文件和DLL包并导致细微的错误或段错误。
    • @endolith,是的,损坏的是 pydot。我打开this issue 要求 Anaconda 人修复它。
    • @endolith,非常感谢!让我们希望 Anaconda 人不会花很长时间来解决 pydot 问题。
    【解决方案3】:
    1. 打开 Anaconda 提示
    2. 在 anaconda 提示符下运行->“conda install python-graphviz”。
    3. 安装graphviz后复制目录: C:\Users\Admin\anaconda3\Library\bin\graphviz
    4. 打开控制面板\系统\高级系统设置
      环境变量\路径\编辑\新建
      粘贴复制的目录,然后单击确定

    【讨论】:

      猜你喜欢
      • 2019-01-14
      • 2016-08-04
      • 2021-11-25
      • 2017-11-07
      • 1970-01-01
      • 1970-01-01
      • 2021-02-05
      • 1970-01-01
      • 2023-03-03
      相关资源
      最近更新 更多