我正在使用 Python 3 在 Sublime Text 3 上使用 Graphviz。当我运行此代码时:
data = tree.export_graphviz(dtGini[55], out_file = None)
graph = graphviz.Source(data)
graph.render("testingthis")
我收到这些错误:
FileNotFoundError: [WinError 2] The system cannot find the file specified
During handling of the above exception, another exception occurred:
graphviz.backend.ExecutableNotFound: failed to execute ['dot', '-Tpdf', '-O', 'testingthis'], make sure the Graphviz executables are on your systems' PATH
它似乎找不到所需的文件。在Sublime Text 3中,我对Conda的用户设置是:
{
// executable is the path to anaconda's python
// this python executable is used in order to find conda
"executable": "C:/ProgramData/Miniconda3/python.exe",
// Directory in which the conda envs are stored
// Default location is the user's home directory
"environment_directory": "C:/ProgramData/Miniconda3/envs",
// configuration is the path to conda's configuration file
"configuration": "~/.condarc"
}
我的控制面板上有这些环境变量:
C:ProgramDataMiniconda3Scripts
C:ProgramDataMiniconda3
C:ProgramDataMiniconda3conda-metahistory
C:UsersXAppDataLocalcondacondapkgs
C:UsersXAppDataLocalcondacondapkgsgraphviz-2.38-hfd603c8_2Librarybin
C:UsersXAppDataLocalcondacondapkgsgraphviz-2.38-hfd603c8_2Librarybindot.exe
在 Anaconda 提示符下,当我输入 Python 时,按回车键,然后输入"导入图形可视化",我没有收到任何错误。在崇高文本 3 中,如果我只有一个像 graph.py
import graphviz
它执行时没有任何错误。
关于如何解决这个问题的任何想法?这让我发疯了。谢谢!
我遵循了@aprameyo roy在这里发布的解决方案> 安装 Graphviz 2.38 后"运行时错误:确保 Graphviz 可执行文件在您的系统路径上"
需要的系统路径在我的PC上找到了一些 - 我已经使用Ananconda安装了graphviz软件包。
将这两个命令添加到我的 jupyter 笔记本解决了这个问题 - 将 C:/地址更改为您的安装位置:
(附言。我认为您需要在每次内核重新启动后重新运行它。
# extra step to allow graphviz to be found
import os
os.environ["PATH"] += os.pathsep + 'C:/Users/jed/Anaconda3/envs/keras/Library/bin/graphviz/'
我的解决方案是从他们的网站下载 Graphviz(即使我已经从 CMD 下载了它(,然后更改 PATH 变量以反映安装的位置。
在窗口的情况下,我按照以下步骤解决了这个问题:
步骤 1. 安装 stable_windows_10_cmake_Release_Win32_graphviz-安装-2.49.3-Win32.exe
step2. 在系统变量"C:\程序文件 (x86(\图形可视化\bin">中添加路径
2.1 在 Windows 任务栏上,右键单击 Windows 图标并选择系统。
2.2 在"设置">窗口的"相关设置"下,单击"高级系统设置"。
2.3 在"高级"选项卡上,单击"环境变量"。
步骤3. 在我的代码中添加以下行
import os
import graphviz
os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz/bin/'
graph_data = "your graph data"
fie_ext = 'png'
temp_img = 'temp_file'
temp_img_name = "".join([temp_img, '.'+fie_ext])
my_graph= graphviz.Source(graph_data)
my_graph.render(temp_img,format=fie_ext, view=False)