AnacondaでモジュールをインストールしたのにJupyter Notebookで動かないときの対処法です。
Jupyter Notebook上で「import モジュール名」と入力し、実行すると、「NameError: name ‘モジュール名’ is not defined」というエラーが出てしまいました。
調べてみると、参照しているパスが違うことが原因でした。
私の場合は、Jupiter Notebookで参照している箇所とモジュールをインストールしたAnacondaが別々のものであることがわかりました。
以下の方法で確認できます。もしパスが違う場合は両者異なる環境を参照していることになります。
ここでは「mglearn」というモジュールを例にしています。
1 2 3 4 5 6 7 8 9 10 11 |
//モジュールをインストールします pip install mgearn //Pythonを起動 Python //モジュールをインポート import mglearn //モジュールの保存ディレクトリを確認 mglearn.__file__ |
1 2 3 4 5 |
//使用しているパッケージマネージャーをインポート import pip //モジュールの保存場所の確認 pip.__file__ |
参照先が違うのはわかったのですが、対処方法を探しても出てこなかったので、色々試していると、
「jupyter —paths」というコマンドを打つとJupiter Notebook関連のパスの一覧を表示してくれることがわかりました。
その中で、「/Users/ユーザー名/Library/Jupyter/runtime」というフォルダが作成されていることに気づきました。
これはJupyter Notebookを起動すると作成されるフォルダで、最初に起動された時のバージョンなどの情報を保存していたようです。
私は前に古いバージョンのanacondaで起動していたことがあるので、それが原因で最新バージョンのanaconda内のJupyterが使用されていなかったようです。
これを削除して、起動し直したら、最新バージョンのanacondaに対応したJupyterを立ち上げることができました。
Anacondaを複数バージョンをインストールしていて、モジュールの追加がうまくいかない人は試してみてください。