已解决:graphviz\backend.py“, line 162, in pipe raise ExecutableNotFound(args) graphviz.backend.Executab

已解决:graphviz\backend.py“, line 162, in pipe raise ExecutableNotFound(args) graphviz.backend.ExecutableNotFound

写在前面

在使用 Graphviz 时,可能会遇到如下错误提示:

graphviz\backend.py“, line 162, in pipe
raise ExecutableNotFound(args)
graphviz.backend.ExecutableNotFound

这是由于 Graphviz 的可执行文件未找到所引起的,这个错误常见于没有正确安装 Graphviz 或未将其添加到系统的 PATH 中。

在这里插入图片描述

问题描述

报错代码行:

graphviz\backend.py“, line 162, in pipe
raise ExecutableNotFound(args)
graphviz.backend.ExecutableNotFound

报错原因分析:

  1. Graphviz 未正确安装:系统上可能未安装 Graphviz 的可执行文件,或者安装不完整。
  2. 环境变量未设置:Graphviz 的安装路径未正确添加到系统的 PATH 环境变量中,导致 Python 找不到可执行文件。
  3. 路径问题:安装的 Graphviz 文件夹可能位于非标准位置,或者路径存在字符冲突。
  4. 版本不兼容:安装的 Graphviz 与 Python 包 graphviz 版本可能不匹配,导致程序无法找到正确的可执行文件。

解决思路

  1. 检查 Graphviz 是否安装:首先,检查是否已经安装了 Graphviz,如果没有,需要下载安装。
  2. 确保 PATH 设置正确:安装后,需要将 Graphviz 的 bin 文件夹路径添加到系统的 PATH 环境变量中。
  3. 检查 Python 包 graphviz 的版本:确保 Python 的 graphviz 包与系统上的 Graphviz 版本兼容。
  4. 重启系统或 IDE:有时设置环境变量后,重启系统或 Python 开发环境可以确保更改生效。
  5. 检查安装路径:确认 Graphviz 安装的路径是否包含特殊字符,可能需要安装到默认目录下。

解决办法

1. 安装 Graphviz

首先,确保 Graphviz 已经在你的系统中安装。如果未安装,可以从 Graphviz 官方网站 下载并安装相应版本。

对于 Windows 用户:

  • 下载并安装 Graphviz 安装包。
  • 安装完成后,进入安装目录并找到 bin 文件夹(例如:C:\Program Files (x86)\Graphviz2.38\bin)。

2. 添加 Graphviz 到系统环境变量 PATH

确保将 Graphviz 的安装路径添加到系统的环境变量 PATH 中。

Windows 操作系统:

  1. 打开“系统属性” > “高级系统设置” > “环境变量”。
  2. 在系统变量中找到 Path,点击“编辑”。
  3. 点击“新建”,添加 Graphviz 的 bin 文件夹路径,例如:C:\Program Files (x86)\Graphviz2.38\bin
  4. 点击“确定”保存更改。

macOS 和 Linux 操作系统:
打开终端并编辑 .bashrc.zshrc 文件,添加以下内容:

export PATH=$PATH:/usr/local/graphviz/bin

保存后,执行以下命令让更改生效:

source ~/.bashrc  # 或者 source ~/.zshrc

3. 安装 Python 包 graphviz

在确认 Graphviz 正确安装并配置好 PATH 后,使用 pip 安装 Python 的 graphviz 包:

pip install graphviz

如果已经安装,可以通过以下命令更新到最新版本:

pip install --upgrade graphviz

4. 检查 Graphviz 是否可用

在终端或命令行中,输入以下命令,检查 Graphviz 的安装是否成功:

dot -version

如果成功返回 Graphviz 版本号,说明 Graphviz 已正确安装。

5. 测试 Graphviz 在 Python 中的使用

安装并配置完成后,使用以下代码测试 Python 能否正常使用 Graphviz:

from graphviz import Digraph

dot = Digraph(comment='Test Graph')
dot.node('A', 'Start')
dot.node('B', 'End')
dot.edges(['AB'])
print(dot.source)
dot.render('test-output/graph', view=True)

如果代码运行正常且生成图像,则说明问题已解决。

6. 检查 Graphviz 的安装路径

如果问题依旧,可能需要检查 Graphviz 的安装路径是否正确,避免路径中包含特殊字符或空格。尝试将 Graphviz 安装到默认路径或路径简单的目录下,如 C:\graphviz

7. 重启系统或 IDE

在添加环境变量或更新 Graphviz 之后,建议重启你的操作系统或 Python 开发环境(如 PyCharm、VSCode),以确保新设置生效。

总结

ExecutableNotFound 错误通常是由于 Graphviz 未正确安装或环境变量未配置导致的。通过安装 Graphviz、确保其路径添加到系统的环境变量中,并确保 Python 包 graphviz 正常安装,可以有效解决此类问题。

Traceback (most recent call last): File "C:\Users\木南\AppData\Roaming\Python\Python310\site-packages\graphviz\backend\execute.py", line 81, in run_check proc = subprocess.run(cmd, **kwargs) File "C:\Users\木南\AppData\Local\Programs\Python\Python310\lib\subprocess.py", line 501, in run with Popen(*popenargs, **kwargs) as process: File "C:\Users\木南\AppData\Local\Programs\Python\Python310\lib\subprocess.py", line 969, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "C:\Users\木南\AppData\Local\Programs\Python\Python310\lib\subprocess.py", line 1438, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] 系统找不到指定的文件。 The above exception was the direct cause of the following exception: Traceback (most recent call last): File "C:\Users\木南\Documents\WeChat Files\wxid_t8yeg2rocvc222\FileStorage\File\2023-06\aduet\classify.py", line 60, in <module> graph.render("decision_tree", view=True) File "C:\Users\木南\AppData\Roaming\Python\Python310\site-packages\graphviz\_tools.py", line 171, in wrapper return func(*args, **kwargs) File "C:\Users\木南\AppData\Roaming\Python\Python310\site-packages\graphviz\rendering.py", line 122, in render rendered = self._render(*args, **kwargs) File "C:\Users\木南\AppData\Roaming\Python\Python310\site-packages\graphviz\_tools.py", line 171, in wrapper return func(*args, **kwargs) File "C:\Users\木南\AppData\Roaming\Python\Python310\site-packages\graphviz\backend\rendering.py", line 324, in render execute.run_check(cmd, File "C:\Users\木南\AppData\Roaming\Python\Python310\site-packages\graphviz\backend\execute.py", line 84, in run_check raise ExecutableNotFound(cmd) from e graphviz.backend.execute.ExecutableNotFound: failed to execute WindowsPath('dot'), make sure the Graphviz executables are on your systems' PATH
06-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

几何心凉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值