Python

【Python】dtreeviz使用時にExecutableNotFound: … ,make sure the Graphviz executables are on your systems’ PATHが出たときの対処

投稿日:2021年1月10日 更新日:

概要

Pythonの決定木の可視化でビジュアルに優れたdtreevizパッケージのメソッドを使用したところ表題のエラーが発生したため、その対処方法についてメモする。

症状

まず、決定木の可視化でdtreevizを使用しようと思い、windows10上に構築していたAnacondaの環境に以下を行いました。

  • pip install dreeviz
  • 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 dreeviz
  • conda install graphviz
  • 手動でgraphvizのサイトからパッケージをダウンロードして展開&システム環境変数のPATHへ追加

結果

エラーなく動きました。

まとめ

よくわかりませんが、Anaconda環境にpipでdtreevizをいれてその後、graphvizを入れてもうまく動かなかったです。
Python+venvならうまく動きました。

-Python

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

VSCodeから外部のJupyterへ接続する

Contents1 目的2 環境3 Step1 : Jupyterのconfig設定4 Step2 : VSCodeからの接続5 Step3 : Jupyterを使用して確認6 まとめ 目的 自端末の …

VSCodeでJupytreNotebookを使う

Contents1 目的2 環境3 Step1 : pythonプラグインインストール4 Step2 : JupyterNotebookの立ち上げ5 Step : 3 使ってみる6 まとめ 目的 VS …

【Python】pandasでhtmlのtableをスクレイピング

Contents1 概要2 tableを取得するコード 概要 以下でBeautifulSoupを使ってwebページのhtmlからtableをスクレイピングしたときに少しはまったときの対処法について書き …

【Python】requestで403エラーが出るときの原因

Contents1 概要2 ID/PASS間違い3 URL間違い4 ADドメインの外からアクセス5 プロキシがうまく設定できていない6 プロキシが邪魔してくる7 まとめ8 参考とさせて頂いたサイト 概 …

Python datetimeの基本的な使い方

Contents1 目的2 基本メソッド2.1 今日の取得2.2 年月日の取り出し2.3 明日の取得2.4 現在日時の取得3 現在時、分、秒、マイクロ秒の取り出し3.1 ISOフォーマットへの変換 目 …

言語切り替え

カテゴリー