Azure ML Jupyter Notebook中使用LightGBM绘图时遭遇Graphviz ExecutableNotFound错误的技术求助
解决Azure ML Notebook中LightGBM画树时Graphviz的
dot可执行文件找不到的问题 我之前在Azure ML的计算实例上用LightGBM画决策树时,也碰到过完全一样的ExecutableNotFound错误——明明装了graphviz Python包,就是找不到dot命令。本质原因是你只装了Python层的graphviz绑定,没装系统级的Graphviz可执行文件,或者系统PATH没正确识别到它。下面是几个亲测有效的解决步骤:
步骤1:安装系统级Graphviz可执行文件
Azure ML的计算实例默认是Ubuntu系统,直接在Notebook里运行下面的终端命令安装:
!apt-get update && apt-get install -y graphviz
这一步是关键,因为Python的graphviz包只是调用系统里的dot工具,本身不包含可执行文件。
步骤2:手动指定dot的路径到环境变量
有时候即使装了系统级Graphviz,Notebook的kernel可能没自动更新PATH。你可以先找到dot的位置:
!which dot
一般输出会是/usr/bin/dot。然后在代码里把这个路径添加到环境变量中,再调用画图函数:
import lightgbm as lgb import os # 添加dot的路径到系统PATH os.environ["PATH"] += os.pathsep + "/usr/bin" # 现在再尝试画图 lgb.plot_tree(clf, tree_index=1, figsize=(20,12))
步骤3:重启Notebook Kernel
如果上面两步做完还是报错,试试重启Notebook的kernel(点击Notebook顶部的"Kernel" -> "Restart")。有时候环境变量的更新需要重启kernel才能生效。
可选:确认Python的graphviz包版本
虽然你说已经装了,但可以升级到最新版本确保兼容性:
!pip install --upgrade graphviz
按照这个流程走,基本就能解决dot找不到的问题了。
内容的提问来源于stack exchange,提问作者Luis Valencia
相关产品推荐
相关产品推荐

