【Python】dtreeviz使用時にExecutableNotFound: … ,make sure the Graphviz executables are on your systems’ PATHが出たときの対処
概要
Pythonの決定木の可視化でビジュアルに優れたdtreevizパッケージのメソッドを使用したところ表題のエラーが発生したため、その対処方法についてメモする。
症状
まず、決定木の可視化でdtreevizを使用しようと思い、windows10上に構築していたAnacondaの環境に以下を行いました。
- pip install dtreeviz
- conda install graphviz
そして、jupyterを起動してdtreevizの描画メソッドを使用したところ、以下が発生しました。
ExecutableNotFound: failed to execute ['dot', '-Tsvg', '-o', 'C:\\Users\\UserName\\AppData\\Local\\Temp\\DTreeViz_15916.svg', 'C:/Users/UserName/AppData/Local/Temp\\DTreeViz_15916'], make sure the Graphviz executables are on your systems' PATH
ネットの情報を見る限り、make sure the Graphviz executables are on you systems’ PATHが出るときは環境変数に追加すれば解消するよ、という感じなのでgraphvizの実行パスをシステム環境変数に追加して再度トライしました。
パス
C:\Users\UserName\Anaconda3\pkgs\graphviz-2.38-hfd603c8_2\Library\bin
結果
相変わらず同じエラーが発生しました。仕方がないので試行錯誤しながらエラー対処を開始しました。
対処その1
condaでgraphvizをインストールしたのが良くなかったのかと思いgraphvizのサイトから手動でgraphvizのパッケージを取得してローカルへ展開後、再度graphvizの実行ファイルのパスをシステム環境変数に追加しました。
結果
同じエラーが出で解消せず。
対処その2
Anacondaの環境がシステム環境変数に追加したgraphvizを全く認識していない感じでしたので、Anaconda環境を使うのを諦めました。
こちらで作ったPython+venvベースの環境上に再度以下ので順でインストールし直しました。
- pip install dtreeviz
- 手動でgraphvizのサイトからパッケージをダウンロードして展開&システム環境変数のPATHへ追加
結果
エラーなく動きました。
まとめ
よくわかりませんが、Anaconda環境にpipでdtreevizをいれてその後、graphvizを入れてもうまく動かなかったです。
Python+venvならうまく動きました。