30

我在 Windows 7 上运行 Python 的 pydot 时遇到问题。

我安装了 pydot: conda install -c rmg pydot=1.2.2

我在下面安装了graphviz../Program Files (x86)/Graphviz2.38/

当我运行以下脚本时,我收到一条错误消息

"dot.exe" not found in path
import pydot
graph = pydot.Dot(graph_type='digraph')
node_a = pydot.Node("Node A", style="filled", fillcolor="red")
node_b = pydot.Node("Node B", style="filled", fillcolor="green")
node_c = pydot.Node("Node C", style="filled", fillcolor="#0000ff")
node_d = pydot.Node("Node D", style="filled", fillcolor="#976856")
graph.add_node(node_a)
graph.add_node(node_b)
graph.add_node(node_c)
graph.add_node(node_d)
graph.add_edge(pydot.Edge(node_a, node_b))
graph.add_edge(pydot.Edge(node_b, node_c))
graph.add_edge(pydot.Edge(node_c, node_d))
graph.add_edge(pydot.Edge(node_d, node_a, label="and back we go again", labelfontcolor="#009933", fontsize="10.0", color="blue"))
graph.write_png('example2_graph.png')

Exception: "dot.exe" not found in path.

我已经尝试过这个解决方案:通过添加带有指向 文件所在位置的行的文件,在 Python 中永久添加到 sys.path 的文件路径。但我仍然得到错误。my-paths.pth../Graphiv2.38/bin/dot.exe

我还能尝试什么?

4

9 回答 9

54

我按照此博客中给出的说明进行操作。

然后我从这里安装了 graphviz并将 C:\Program Files (x86)\Graphviz2.38\bin 添加到PATH.

接下来我做了:

conda install pydot-ng 

最后在我的笔记本中,我添加了以下两行。

import os
os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'
于 2017-04-20T03:38:23.003 回答
11

键入conda install pydot graphvizcmd,然后将可执行文件位置目录添加C:\Anaconda3\pkgs\graphviz-2.38-hfd603c8_2\Library\bin\graphviz到系统路径变量中。这样可行!

于 2018-10-07T02:45:07.597 回答
11

如果您使用的是 Python 3,请不要使用以下命令:

conda install pydot-ng 

这会将您的安装带到 Python 2.7

改为使用

conda install graphviz
于 2019-04-13T05:42:13.877 回答
3

其他解决方案对我不起作用,我发现pydot试图运行硬编码dot.bat,所以我只是在dot.bat附近创建了包装器dot.exe,它起作用了:

@echo off
dot %*
于 2019-05-06T20:13:54.613 回答
2

使用django-extensions为您的 Django 应用程序生成模型图,我这样做了,它起作用了:

pip install django-extensions
pip install pyparsing
pip install graphviz
pip install pydot
conda install graphviz

添加django-extensions到您INSTALLED_APPS,然后添加C:\Program Files\Anaconda3\pkgs\graphviz-2.38.0-4\Library\bin\graphviz到我的系统路径变量。然后最后通常:

python manage.py graph_models -a -g -o pic.png
于 2018-01-04T22:54:46.127 回答
1

我遇到了麻烦,发现如果您使用的是 Visual Studio Code 集成命令行,那么您应该确保重新启动 Visual Studio Code(您可能只需要重新启动命令行)否则 PATH 更改不会发生...

于 2018-09-08T04:29:27.207 回答
1

在这种情况下,当系统上的程序找不到资源时,请执行以下快速步骤:

  • 运行一个简单的命令提示符,键入并执行所需的命令(可以是 'dot.exe')
  • 如果是,则您的系统配置良好,并且可能由于代码中的硬配置方式,找不到可执行文件(需要找到文件的特定位置,例如:程序检查 C:\Program Files\Anaconda3\pkgs\ graphviz,你把二进制文件放在 C:\Program Files\graphviz)。
  • 如果没有,则需要手动添加。在环境变量中添加包含二进制文件的目录(例如'my_location\graphviz\bin')。如果您对计算机的所有用户都需要它,请将其放在系统“路径”中(需要断开用户帐户以考虑),否则放在用户“路径”中(需要重新打开所需的程序)。然后通过重新打开命令提示符并键入命令来检查它。

如果它不工作......你输入错误的东西=)

一些建议:Rapid Environment Editor 非常适合配置 Windows 环境变量;)

祝你今天过得愉快!

于 2019-06-26T12:25:59.763 回答
1

在 Ubuntu 18.04 上安装二进制文件并sudo apt-get install graphviz导致dot被放置在下面/usr/bin/dot(它可能会/usr/local/bin/dot按照他们的安装指南进行)。做完之后:

pip3 install pydot-ng

并将以下几行(类似于@Ernest 在 Linux 中的答案)添加到它工作的脚本中:

import os
os.environ["PATH"] += os.pathsep + "/usr/bin/dot"
于 2020-04-23T06:42:22.903 回答
0

我对 conda 有过一些非常糟糕的经历,所以要不惜一切代价避免它造成的混乱。

幸运的是,这里的每个答案都不必要地使用了 conda。您可以简单地安装此软件包,pip install pydot然后Graphviz按照接受的答案中所述添加到您的路径后,此错误已解决。(视窗)

于 2021-07-08T04:57:44.117 回答