JupyterNotebookの環境設定

情報系Tips
スポンサーリンク

専門書を読んでいるときなどにJupyterNotebookをよく使用するのですが、何故かpip3でインストールしたパッケージが使用出来なかったため、その時の対処方法を残します。

バージョンについて

はじめにjupyterのバージョンを確認します。–versionで確認できます。

$ jupyter-notebook --version
7.2.2

もしバージョンが古い場合は以下のコマンドでバージョンアップします。(pipインストールの場合)

$ pip3 install -U jupyter

エラーについて

カーネルはvenvを使用しているのですが、例えばlibrosaをimportしようとすると以下のようにNo moduleとなります。

パッケージがインストールされているのかpip showで確認してみると、venvにあることがわかります。

$ pip3 show librosa     
Name: librosa
Version: 0.10.2.post1
Summary: Python module for audio and music processing
Home-page: https://librosa.org
Author: Brian McFee, librosa development team
Author-email: brian.mcfee@nyu.edu
License: ISC
Location: /Users/venv/lib/python3.8/site-packages
Requires: audioread, decorator, joblib, lazy-loader, msgpack, numba, numpy, pooch, scikit-learn, scipy, soundfile, soxr, typing-extensions

jupyterの参照先が違うかもと思い、jupyter内で以下のコードを実行してみました。

$ import sys
$ print(sys.executable)
/Users/miniconda3/bin/python

カーネル名はvenvなのに何故かminiconda3内のpythonを参照していますね。

これが原因でvenvにインストールしたパッケージが使用で出来ていなかったのだと考えられます。

解決方法

以下のコードをコマンドラインで実行することで解決しました。

$ python3 -m ipykernel install --user --name=python38 --display-name "Python 3.8 (venv)"

jupyterのchange kernelに以下のPython3.8(venv)が追加されていれば解決です。

実際にjupyter内で参照先を確認してみると

$ import sys
$ print(sys.executable)
/Users/venv/bin/python3

これでエラーなく実行できました。

コメント

タイトルとURLをコピーしました