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

web*_*nja 66 graphviz pygraphviz pydot scikit-learn

我在Windows 8中安装了GraphViz 2.32,并将C:\ Program Files(x86)\ Graphviz2.32\bin添加到System PATH变量中.仍然pydot无法找到它的可执行文件.

Traceback (most recent call last):
  File "<pyshell#26>", line 1, in <module>
    graph.write_png('example1_graph.png')
  File "build\bdist.win32\egg\pydot.py", line 1809, in <lambda>
    lambda path, f=frmt, prog=self.prog : self.write(path, format=f, prog=prog))
  File "build\bdist.win32\egg\pydot.py", line 1911, in write
    dot_fd.write(self.create(prog, format))
  File "build\bdist.win32\egg\pydot.py", line 1953, in create
    'GraphViz\'s executables not found' )
InvocationException: GraphViz's executables not found
Run Code Online (Sandbox Code Playgroud)

我发现了这个https://code.google.com/p/pydot/issues/detail?id=65但是无法解决问题.

小智 69

问题是pydot模块找不到GraphViz的路径,如回溯中所示:

'未找到GraphViz的可执行文件'

我通过将GraphViz bin目录添加到我的计算机的PATH,在我的Windows 7机器上解决了这个问题.然后重新启动我的python IDE以使用更新的路径.

  1. 如果您还没有安装GraphViz(我使用了MSI下载)
  2. 获取gvedit.exe的路径(对我而言,它是"C:\ Program Files(x86)\ Graphviz2.34\bin \")
  3. 将此路径添加到计算机的PATH
  4. 进入环境设置以设置路径的一种方法是单击这些按钮/菜单选项中的每一个:start-> computer-> system properties-> advanced settings-> environment variables
  5. 单击编辑用户路径
  6. 将此字符串添加到变量值列表的末尾(包括分号) :; C:\ Program Files(x86)\ Graphviz2.34\bin
  7. 单击确定
  8. 重新启动Python IDE

  • 在我的Windows 8系统中,直到我意识到在Windows 8中我不应该在路径两端使用引号(“)为止,我一直遇到错误。删除它们后,一切都很好。 (2认同)

nan*_*vel 61

在Mac上brew install graphviz为我解决了这个问题.

  • 这不适合我.只是让你知道. (7认同)

web*_*nja 28

这是因为我在安装pydot后安装了graphviz.因此,pydot无法找到它.以正确的顺序重新安装它解决了问题.

  • 安装`pydot`和GraphViz的顺序对于'pydot`是否能找到GraphViz没有任何影响.GraphViz可执行文件应该在当前路径中,以便`pydot`能够检测到它们. (4认同)

nao*_*oko 20

在我的情况下回答来自Sadik pydot和graphviz错误:无法导入dot_parser,在Ubuntu 12.04.5 LTS上无法加载点文件

sudo apt-get install python-pydot


小智 19

我尝试通过控制面板添加PATH,但也需要重新启动命令提示符.以下内容也适用于更新Notebook会话中的路径而不退出:

import os     

os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'
Run Code Online (Sandbox Code Playgroud)


San*_*ale 8

您需要从Graphviz安装,然后只需将Graphviz及其bin目录的文件夹路径添加到系统环境路径.


Jay*_*ini 8

对于Windows 8.1和python 2.7,我按照以下步骤解决了问题

1.下载并安装graphviz-2.38.msi https://graphviz.gitlab.io/_pages/Download/Download_windows.html

2.设置路径变量

控制面板>系统和安全>系统>高级系统设置>环境变量>路径>编辑添加'C:\ Program Files(x86)\ Graphviz2.38\bin'

  1. 重新启动当前运行的需要该路径的应用程序

  • 这为我解决了这个问题。注意:由于已运行的应用程序可能不会自动适应更新的环境,因此您应该重新启动任何需要新路径的应用程序(请参阅[如何在不重新启动的情况下添加 Windows 环境变量](https://serverfault.com/questions/ 8855/如何在不重新启动的情况下添加 Windows 环境变量))。 (2认同)

Nod*_*ili 5

我正在使用 Anaconda 3.6.5 在 Windows 10 上工作。我没有管理员权限,所以如果有人在像我这样的情况下,这个解决方案非常有效。

我的graphviz的路径是looks C:\Users\User_Name\AppData\Local\Continuum\anaconda3\Library\bin\graphviz

在 Spyder 或 Jupyter 中键入以下内容:

import os os.environ['PATH'].split(os.pathsep) 这将列出您环境中的所有路径。看看他们,如果你的 graphviz 路径不在这里,那么去找到它并复制路径,就像我上面的例子一样。然后键入以下内容: os.environ['PATH'] += os.pathsep + 'C:\\Users\\User_Name\\AppData\\Local\\Continuum\\anaconda3\\Library\\bin\\graphviz'

这就是全部,但请注意,如果您重新启动内核,则每次都必须运行这些命令