LoginSignup
3
8

More than 5 years have passed since last update.

Jupyterで入っているはずのライブラリが使えないとき(no moduleエラーが出るとき)

Last updated at Posted at 2017-12-30

# イントロ
正直Linuxとかよくわかっていないのでやり方が正しいのかわかりません。
本当はもとの場所にpathを通す方法とかが正しいのかもしれません。
とりあえず動かせる環境にしたい、ライブラリが使えるようにしたいという人向け。

Jupyter上でpythonに入っているはずのパッケージが使えない場合

のようなかたちでJupyter上に記述して「Shift+Enter」で実行すると動くことがあります。
Jupyterから見えるところ、アクセスできるところにライブラリがいないということなんでしょうか…。
前にインストールしたはずなのにっ!っていう人。

現在動いているpythonにインポートされているパッケージをJupyter上で確認

!pip freeze

で入っているコマンドを確認できるはずです。

!をつける理由

pythonが起動していてもこの!をつけることでコマンドラインの操作(コマンドラインの入力は黒い画面でカタカタするやつです)ができます。
(vimというエディタでも同じような動作ができるので、ほかのプロセス実行中にコマンドを使いたい場合に!をつけるとできるものは多いのかもしれません。)
それと同じようにJupyter上からpythonを実行するときも、!をつけることでコマンドラインでの操作が実行できます。
コマンドラインでpip freezeと打つのと同じようにpython上からコマンドが実行できます。

importしたパッケージがいない場合

違う環境にインストールしている可能性があります。

pythonのバージョン違いの場合

pythonはpython2系とpython3系に分かれています。
pipでインストールするかpip3でインストールするかによってインストールされる場所が違います。
自分が今、どっちのpythonを起動しているか確認しましょう。
Jupyter上で下記のpythonを実行するとversionが出力されるようです。

import sys
print(sys.version)

というわけで、python3を実行中の場合にはJupyter上から

!pip3 install {パッケージ名}

でインストールができるはずです。

環境違いの場合

pythonの開発を行うときに仮想環境を作ることがあります。
virtualenvという仮想環境でパッケージをインストールした場合、virtualenvをactivate状態にしていない場合にはパッケージを使用できません。

{virtualenvで作ったフォルダへのPATH}/bin/activate

にした状態でpythonのバージョンを確認し、使いたいパッケージをインストールします。

とにかくアプリを動かしたいだけでpythonの動く環境を把握していなかったので大幅に修正しました。
間違いがありましたらご指摘いただけるとありがたいです、

3
8
1

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
3
8