Mac环境下Graphviz已在PATH但Python调用报错的问题求助
Graphviz ExecutableNotFound 问题排查与解决建议
问题场景
运行以下Python代码:
graph = graphviz.Source(dot_data) display(graph)
出现报错:
File ~/opt/anaconda3/lib/python3.8/site-packages/graphviz/backend/execute.py:84 in run_check raise ExecutableNotFound(cmd) from e ExecutableNotFound: failed to execute PosixPath('dot'), make sure the Graphviz executables are on your systems' PATH <graphviz.sources.Source at 0x7fc1511faa00>
已确认Graphviz已安装且dot命令在系统PATH中:
dot - graphviz version 2.40.1 (20161225.0304) (base) jay@iMac-2019 ~ % echo $PATH /Users/jay/usr/local/bin/dot:/Users/jay/opt/anaconda3/bin:/Users/jay/opt/anaconda3/condabin:/Users/jay/.pyenv/shims:/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/3.12/bin:/Library/Frameworks/Python.framework/Versions/3.9/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/opt/X11/bin:/Library/Apple/usr/bin:/Library/TeX/texbin:/usr/local/git/bin:/usr/local/go/bin:/Applications/quarto/bin
解决建议
检查Python环境的PATH变量:系统终端的PATH和Python运行环境的PATH可能不一致。在Python代码中添加以下内容查看当前环境的PATH:
import os print(os.environ['PATH'])如果输出里没有
dot所在的路径,需要手动添加。手动指定dot路径:在初始化graphviz Source时,直接指定
dot的绝对路径:graph = graphviz.Source(dot_data, engine='/Users/jay/usr/local/bin/dot') display(graph)验证conda环境的PATH:激活base环境后,运行
which dot确认路径是否正确,若输出为空或非预期路径,重新配置环境变量。更新graphviz库:当前使用的graphviz库版本可能存在兼容性问题,运行以下命令更新:
pip install --upgrade graphviz检查dot权限:确保
/Users/jay/usr/local/bin/dot有可执行权限,运行:chmod +x /Users/jay/usr/local/bin/dot
内容的提问来源于stack exchange,提问作者user7675751
相关产品推荐
相关产品推荐

