4
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

モジュールがPythonでインストールされているのに、Jupyter notebookではエラーになるときの解決法

Last updated at Posted at 2020-12-19

Jupyter notebook

公式サイト:https://jupyter.org/
Anacondaを使わずにインストールするときは、以下のコマンドを実行します。

$ pip install jupyter

発生した問題

jupyter notebookを使おうとしたところ、モジュールエラーが発生しました。

ModuleNotFoundError: No module named 'numpy'

スクリーンショット 2020-12-19 12.23.33.png

ターミナルにpyenvを用いてPythonバージョンを指定して構築しましたが、
その環境とjupyterが一致していないのではないことが原因で発生したようでした。

検証

jupyter notebookで以下を実行すると、site-packagesのパスを確認できます。

import sys
print(sys.version)
print(sys.path)

3.9.1 (default, Dec 10 2020, 10:36:35)
[Clang 12.0.0 (clang-1200.0.32.27)]
['/Users/.../Documents/GitHub/.../',
'/usr/local/Cellar/python@3.9/3.9.1/Frameworks/Python.framework/Versions/3.9/lib/python39.zip',
'/usr/local/Cellar/python@3.9/3.9.1/Frameworks/Python.framework/Versions/3.9/lib/python3.9',
'/usr/local/Cellar/python@3.9/3.9.1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/lib-dynload', '',
'/usr/local/Cellar/jupyterlab/2.2.9_1/libexec/lib/python3.9/site-packages',
'/usr/local/Cellar/jupyterlab/2.2.9_1/libexec/lib/python3.9/site-packages/IPython/extensions',
'/Users/.../.ipython']

ターミナルにて以下のコマンドを実行し、Locationを確認します。

$ pip show numpy
Name: numpy
Version: 1.19.4
Summary: NumPy is the fundamental package for array computing with Python.
Home-page: https://www.numpy.org
Author: Travis E. Oliphant et al.
Author-email: None
License: BSD
Location: /Users/.../.pyenv/versions/3.7.7/lib/python3.7/site-packages
Requires:

jupyterではpython3.9、ターミナルでは3.7.7異なっていることがわかります。
jupyterをターミナルに揃えたいと思います。

解決

ターミナルにて、以下のコマンドを実行します。

$ python -m ipykernel install --user --name=python3.7.7 --display-name=python3.7.7
Installed kernelspec python3.7.7 in /Users/.../Library/Jupyter/kernels/python3.7.7

--name--display-nameは適宜設定します。指定したいバージョンに合わせてネーミングすると良いと思います。

  • namekernelの情報が入るディレクトリの名前
  • display-namejupyter上での表示名

コマンドを実行し、以下のようなエラーが発生した場合にはipykernelをインストールしてください。

$ python -m ipykernel install --user --name=python3.7.7 --display-name=python3.7.7  
/Users/.../.pyenv/versions/3.7.7/bin/python: No module named ipykernel

$ pip install ipykernel
Collecting ipykernel...
Successfully installed ... ipykernel-5.4.2

以下のコマンドを使うと、jupyterで現在登録されているkernelを確認できます。

$ jupyter kernelspec list
Available kernels:
  python3        /usr/local/Cellar/jupyterlab/2.2.9_1/libexec/lib/python3.9/site-packages/ipykernel/resources
  python3.7.7    /Users/.../Library/Jupyter/kernels/python3.7.7

jupyter notebookにて、ターミナルと同じバージョンを使えるようになりました。
スクリーンショット 2020-12-19 13.48.16.png

既に作成しているファイルのカーネルを変更するときは、「カーネル」>「カーネルの変更」から変更できます。
スクリーンショット 2020-12-19 14.12.39.png

参考

4
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?