我正在尝试使用 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 许可协议
诊断是说
dot
不在您的 $PATH 中,它没有出现在该环境变量提到的任何目录中。您想尝试使用以下命令报告一些版本号:如果您还没有使用 Brew,您应该这样做。这是将此程序和许多其他程序安装到 Mac 上的最简单方法。访问 https://brew.sh/ 并按照说明进行操作。然后输入:
那应该可以正常工作。如果
dot -V
说“未找到”,则只需将正确的目录附加到您的 PATH:如果你的 bash shell 可以运行它,那么你的 python 程序也应该可以。