サマリ
決定木の可視化ライブラリとしてよく利用されるdtreevizに関して、pip install dtreeviz後の実行時エラーの対応がとりあえずconda installしておけばOKという記事をいくつか見ましたが、、、
conda installのせいでanaconda環境が壊れた経験があり、conda installをしたくない方のための環境構築方法。
結論
Graphvizの実行ファイルを公式サイトからインストールしてPATHに通すことで、conda installなしで実行可能となる。
急ぎの方は、解決策へGO
環境
- windows10
- anaconda環境 (dtreevizライブライをインストール済であることを想定。まだの方は下記実行後に本記事をご参照ください)
pip install dtreeviz
出現していたエラー
FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。
During handling of the above exception, another exception occurred:
ExecutableNotFound Traceback (most recent call last)
や
ExecutableNotFound: failed to execute
['dot', '-Tsvg', '-o', 'C:\\Users\\XXXX\\AppData\\Local\\Temp\\DTreeViz_15304.svg',
'C:/Users/XXXX/AppData/Local/Temp\\DTreeViz_15304'],
make sure the Graphviz executables are on your systems' PATH
エラーの内容
ともにdot
コマンドが実行できなかったことに起因している。
エラー内容の2つ目を意訳すると、、、
make sure the Graphviz executables are on your systems' PATH
Graphvizの実行可能ファイルがPATHに通されているか確認して!
['dot', '-Tsvg', '-o', 'C:\Users\XXXX\AppData\Local\Temp\DTreeViz_15304.svg', 'C:/Users/XXXX/AppData/Local/Temp\DTreeViz_15304']
dotコマンドをオプション2つ付きでsvgファイルを実行しようとしたけど、なかったから!
解決策の前に・・・
そもそもdotコマンドとはgraphvizを利用するときに用いるコマンドである。
macではbrewですぐに利用できるようになるが、windowsではそうはいかない。
とりあえずエラー文言でググり、エラー解消方法を探すも、とにかく下記を実行して!
conda install python-graphviz
がたくさん出てくるが conda install は極力したくなかったので、下記の解決策を取りました。
解決策
- Graphvizの公式サイトへ飛ぶ link
- 「Stable X.XX Windows install packages」を押下
- 「graphviz-X.XX.msi」を押下してダウンロード
- インストール先のフォルダパスを確認 例) C:\Program Files (x86)\GraphvizX.XX\
- 上記フォルダ + binフォルダに「dot.exe」が格納されていることを確認
- binフォルダのパスを環境変数に追加※
※[windows] + [pause/break] → システムの詳細設定 → 環境変数 → ユーザー環境変数 Path を編集 → 新規でbinフォルダのパスを追加
*あとがきも参照!
あとがき
- なぜconda installしなければならないのか?・・・という点の詳解がなかったので、試行したにすぎずconda installでもうまくいくと思います。
- 弊社の実行環境がpip install推奨であり、conda install 自体に深い因縁があるわけではないです。- 2020年3月時点の私は、dtreevizが決定木には最も適していると考えているため、上記方法を取っていますが時代が変われば方針も柔軟に対応する予定です
*簡単のため仮想環境でない方のPATHに追加していますが、環境分離意識の高い方は設定先をanacondaの仮想環境のみのPATHに設定することをおすすめします!