【Python】Pythonではじめる機械学習のgraphvizでエラーが出るときの対処方法

機械学習を再勉強しています。

O’Reillyの下記の書籍が評判が良いので、購入してみました。

Pythonではじめる機械学習 scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

2章の教師あり学習を終えたのですが、2.3.5 決定木で使用するgraphvizモジュールを使用するコードでエラーが発生しました。

1---------------------------------------------------------------------------
2ModuleNotFoundError Traceback (most recent call last)
3<ipython-input-1-3813d87ba683> in <module>()
4----> 1 import graphviz
5
6ModuleNotFoundError: No module named 'graphviz'

書籍のgithubに掲載されている手順では、うまくいかないので
下記のQiitaの記事を参考に、grahpviz導入することをおすすめします。

Windows で graphviz の導入

graphvizのimportエラー解消方法

書籍のgithubを見てみると

You also need to install the graphiz C-library, which is easiest using a package manager. If you are using OS X and homebrew, you can brew install graphviz. If you are on Ubuntu or debian, you can apt-get install graphviz. Installing graphviz on Windows can be tricky and using conda / anaconda is recommended.

MacとLinuxを使用している場合は、Macであればbrew、Linuxであればapt-getを利用してインストールできるみたいです。

自分の使用している環境はWindows10・anaconda環境なのでcondaコマンドを利用してインストールしてみます。

Windows・anaconda環境でのgraphvizのインストール

Anaconda Promptを起動して下記のコマンドを入力します。

1conda install graphviz</pre>

Proceed ([y]/n)? と表示されたら、yと入力してEnterを押します。

1Proceed ([y]/n)? y

conda list graphvizと入力し、graphvizが表示されればインストール完了です。

1>conda list graphviz
2
3# packages in environment at C:\Anaconda3:
4#
5# Name                    Version                   Build  Channel
6graphviz                  2.38                 hfd603c8_2

これでエラーが解消できるかと思ったのですが、同じエラーが引き続き発生しました。

さらに調べたところ、前述のQiitaの記事を見つけました。

Windows で graphviz の導入

下記2点を追加で行う必要があります。

  • pipでgraphvizをインストール
  • 環境変数のPathにcondaでインストールしたgraphvizのフォルダパスを設定する

Anaconda Promptで下記のコマンドを実行します。

1pip install graphviz

Windows10の左下の検索ボックスにシステム環境と入力します。
システム環境変数の編集と表示されるので、クリックします。

環境変数をクリックします。

システム環境変数のPathを選択して、編集ボタンを押します。

仮想環境を利用しているときは下記のgraphvizのフォルダパスをPathに追加します。
ユーザー名と仮想環境名については、ご使用の環境に合わせ名前を変更してください。

C:\Users\ユーザー名\Anaconda3\envs\仮想環境名\Library\bin\graphviz

仮想環境を利用していないときは下記のgraphvizのフォルダパスをPathに追加します。

C:\Users\ユーザー名\Anaconda3\Library\bin\graphviz

各画面をOKを押して閉じた後に、パソコンを再起動します。

Jupyter notebookでgraphvizのコードが動作するか、確認します。

関連ページ