我在 Mac 上的哪里添加 Graphviz 的可执行文件

新手上路,请多包涵

我正在尝试使用 Graphviz 但收到错误消息:

 graphviz.backend.ExecutableNotFound: failed to execute ['dot', '-Tpdf', '-O', 'test-output/aoc.gv.pdf'], make sure the Graphviz executables are on your systems' PATH

我正在运行的代码是从文档中剪切和粘贴的:

 from graphviz import Digraph, Graph
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')
dot.render('test-output/aoc.gv.pdf')

该文件将输出到正确的文件夹并且该文件在那里并且有 170 个字节但它不会打开。我已经尝试过其他扩展名,例如“gv”,但它们也不起作用。我正在使用最新版本的 Graphviz 0.10.1,我尝试在 PC 上打开此文件,但它在 PC 上也不起作用(我有 Mac)。这个问题类似于

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

为什么 pydot 在 Windows 8 中找不到 GraphViz 的可执行文件?

但是,我理解这些帖子有很大的障碍。第一,我对 Python 是如何在计算机上执行的知之甚少,所以我什至不知道什么是环境变量。其次,当他们提到计算机的 PATH 时,我只能假设他们在谈论执行 Graphviz 模块的文件的目录,但我不确定。所以我添加了这行代码:

 import sys
str1 = "/library/frameworks/python.framework/versions/3.6/lib/python3.6/site-packages/graphviz/"
sys.path.append(str1)

但这是行不通的。第三,如果我要执行这一步:

将此字符串添加到变量值列表的末尾(包括分号):;C:\Program Files (x86)\Graphviz2.34\bin

然后我必须将其翻译成它的 Mac 版本,但我做不到。任何帮助,将不胜感激。

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

阅读 341
1 个回答

诊断是说 dot 不在您的 $PATH 中,它没有出现在该环境变量提到的任何目录中。您想尝试使用以下命令报告一些版本号:

 $ dot -V
dot - graphviz version 2.40.1 (20161225.0304)
$
$ which dot
/usr/local/bin/dot
$
$ echo $PATH | tr : ' ' | fmt -w1 | grep local
/usr/local/bin

如果您还没有使用 Brew,您应该这样做。这是将此程序和许多其他程序安装到 Mac 上的最简单方法。访问 https://brew.sh/ 并按照说明进行操作。然后输入:

 $ brew install graphviz
...
$ /usr/local/bin/dot -V

那应该可以正常工作。如果 dot -V 说“未找到”,则只需将正确的目录附加到您的 PATH:

 $ export PATH="${PATH}:/usr/local/bin"

如果你的 bash shell 可以运行它,那么你的 python 程序也应该可以。

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

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