我下载了Graphviz 2.38 MSI版本,安装在C:\Python34文件夹下,然后运行pip安装Graphviz,一切顺利。在系统路径中我添加了C:\Python34\bin。当我试图运行一个测试脚本,在行filename= .render(filename='test'),我得到了一个消息

 RuntimeError: failed to execute ['dot', '-Tpdf', '-O', 'test'], make sure the Graphviz executables are on your systems' path

我尝试将“C:\Python34\bin\dot.exe”放在系统路径中,但它不起作用,我甚至创建了一个新的环境变量“GRAPHVIZ_DOT”,其值为“C:\Python34\bin\dot.exe”,仍然不起作用。我尝试卸载Graphviz和pip uninstall Graphviz,然后重新安装它和pip install,但没有任何工作。

整个回溯消息是:

Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\graphviz\files.py", line 220, in render
    proc = subprocess.Popen(cmd, startupinfo=STARTUPINFO)
  File "C:\Python34\lib\subprocess.py", line 859, in __init__
    restore_signals, start_new_session)
  File "C:\Python34\lib\subprocess.py", line 1112, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Documents\Kissmetrics\curves and lines\eventNodes.py", line 56, in <module>
    filename=dot.render(filename='test')
  File "C:\Python34\lib\site-packages\graphviz\files.py", line 225, in render
    'are on your systems\' path' % cmd)
RuntimeError: failed to execute ['dot', '-Tpdf', '-O', 'test'], make sure the Graphviz executables are on your systems' path

有人有经验吗?


当前回答

import os
os.environ["PATH"] += os.pathsep + 'D:/Program Files (x86)/Graphviz2.38/bin/'

在windows中,只需在开头添加这两行,其中'D:/Program Files (x86)/Graphviz2.38/bin/'被替换为bin文件所在的地址。

这样问题就解决了。

其他回答

1.安装windows软件包:https://graphviz.gitlab.io/_pages/Download/Download_windows.html,下载msi文件

添加环境变量 2. 添加“用户路径”为“C:\Program Files (x86)\ Graphviz2.38\bin”

将C:\Program Files (x86)\ Graphviz2.38\bin\dot.exe添加到“系统路径” 重新启动你的python笔记本。

它会起作用的。

试着用python来做这个 导入系统 conda install——yes——prefix {sys. exe前缀}graphviz 进口graphviz

#Write this on anaconda prompt in admin mode
conda install -c anaconda graphviz
conda install -c conda-forge python-graphviz
conda install -c conda-forge/label/broken python-graphviz
conda install -c conda-forge/label/cf201901 python-graphviz
conda install -c conda-forge/label/cf202003 python-graphviz

#check dot -v in window's cmd prompt
C:\WINDOWS\system32>dot -V
dot - graphviz version 2.38.0 (20140413.2041)
(this means graphviz installed successfully)

#Add path to sys and user eve variables
PATH
C:\Anaconda3\pkgs\graphviz-2.38-hfd603c8_2\Library\bin
(search bin folder of graphviz and then copy n paste path in env variables)

#Re-run all cmds in jyupter notebook
#if error occurs (less chances)
#then 
#Restart anaconda and again run all cmds in jyupter notebook
eg.
import graphviz as gp
with open("tree.dot") as f:
    dot_read=f.read()
display(gp.Source(dot_read))

试着在anaconda提示符中逐一输入以下代码。

这对我很管用。

来源:https://anaconda.org/conda-forge/python-graphviz

conda install -c conda-forge python-graphviz
conda install -c conda-forge/label/broken python-graphviz
conda install -c conda-forge/label/cf201901 python-graphviz
conda install -c conda-forge/label/cf202003 python-graphviz 

然后重新启动内核!

我在Mac OS (El Capitan)上使用PyCharm IDE时也遇到了同样的错误信息。 我已经使用brew安装了Graphviz,正如RZK的回答中推荐的那样,并使用PyCharm安装了Graphviz python包(我可以通过在终端中尝试点- v并获得:点- Graphviz version 2.40.1(20161225.0304)来检查Graphviz是否正确安装)。 然而,当我试图从PyCharm调用Graphviz时,我仍然收到错误消息。

我必须在PyCharm选项中添加路径/usr/local/bin,就像在回答这个问题时建议的那样来解决这个问题。