gpt4 book ai didi

python-3.x - 我在 Mac 上的哪里添加 Graphviz 的可执行文件

转载 作者:行者123 更新时间:2023-12-05 01:41:15 24 4
gpt4 key购买 nike

我正在尝试使用 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's executables are not found (Python 3.4)

Why is pydot unable to find GraphViz's executables in Windows 8?

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

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

但这不起作用。第三,如果我要执行这一步:

Add this string to the end of your Variable value list (including semicolon): ;C:\Program Files (x86)\Graphviz2.34\bin

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

最佳答案

诊断表明 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 程序也应该可以。

关于python-3.x - 我在 Mac 上的哪里添加 Graphviz 的可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54966989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com