起こったこと

ターミナルで $ pip install (モジュール)を実行したにも関わらず、jupyter内でimport すると ModuleNotFoundErrorが出てしまう。
しかし、ipythonではimportできる。

とりあえずの解決方法

色々とネットを調べているとanacondaとipythonは参照先が違うとのこと。
それを聞いて

import sys
sys.path

を実行してやるとjupyterとipythonとでそれぞれ違うパスが表示されました。

と言うことはipythonに表示されているpathを追加してやればいいのではないかと言うことで

import sys
sys.path.append('任意のpath')

を実行することでうまくimportできました!

いちいちsys.appendしたくない方へ

この方法でとりあえずのところはモジュールをインポートして使うことはできましたが毎回これを実行するのは正直めんどくさい…
どなたか良い方法を知っておられましたらご教示くださいm(_ _)m

どうやらjupyterならjupyter_pathを通せば動くらしい
いちいちappendするのがめんどくさくて再びちゃんと調べてみました。

bashrcなどで

export JUPYTER_PATH="${JUPYTER_PATH}:/path/to/add/here/"

を追記したらsourceをしたのちにjupyterを立ち上げなおすとうまくimportできました。

地味にはまったところ

ちゃんとexportしたのに何度jupyterを再起動してもうまく行かずはまっていました。
そのはまった穴は、sourceしたターミナルのウィンドウとjupyterを立ち上げるウィンドウがバラバラだったから…
あるウィンドウではsourceをしたのできちんと環境変数が設定されていたのですがjupyterを立ち上げていたウィンドウはsourceを実行する前に作っていたウィンドウだったのでそっちの環境変数JUPYTER_PATHの中身は空でした。

頭悪すぎる….
ということで皆さん、jupyterを立ち上げる前にechoなりで環境変数が空じゃないのを確認して、空ならちゃんとsourceしてから立ち上げましょうね

广告
将在 10 秒后关闭
bannerAds