路径中找不到“dot.exe”。 Pydot on Python(Windows 7)

时间:2016-11-16 12:44:12

标签: python path pydot

我在Windows 7上运行Python的pydot时遇到了麻烦。

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

我在../Program Files (x86)/Graphviz2.38/

下安装了graphviz

当我运行以下脚本时,出现错误

"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.

我尝试过这个解决方案:https://stackoverflow.com/a/12257807/6561247 通过添加带有指向的行的my-paths.pth文件 ../Graphiv2.38/bin/文件所在的dot.exe。但我仍然得到错误。

我还能尝试什么? 感谢

9 个答案:

答案 0 :(得分:34)

我按照this blog中的说明进行操作。

然后我从here安装了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/'

答案 1 :(得分:6)

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

答案 2 :(得分:1)

对于任何人谷歌让你到这里并使用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

答案 3 :(得分:1)

我知道这是一篇旧文章,但是我对此有疑问,并且发现如果您使用的是VS代码集成命令行,则应确保重新启动VS代码(您可能只需要重新启动VS代码即可)。命令行),否则PATH更改不会发生...

答案 4 :(得分:1)

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

conda install pydot-ng 

这将使您安装到Python 2.7

改为使用

conda install graphviz

答案 5 :(得分:1)

在Ubuntu 18.04上,安装带有sudo apt-get install graphviz的二进制文件导致dot被放置在/usr/bin/dot下(可能会根据installation guide进入/usr/local/bin/dot)。 完成之后:

pip3 install pydot-ng

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

import os
os.environ["PATH"] += os.pathsep + "/usr/bin/dot"

答案 6 :(得分:0)

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

@echo off
dot %*

答案 7 :(得分:0)

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

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

如果它不起作用...您输错了==

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

祝你有美好的一天!

答案 8 :(得分:0)

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

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