Jupyterでは、自分の小さなモジュールはロードされませんが、python/bpythonではすべて問題ありません。入力するとき
import sys
print(sys.path)
私のモジュールへのパスはJupyterでは表示されませんが、python/bpythonでは表示されます。
私は使っている:
最も類似した質問はこれです jupyterノートブックにモジュールをインポートできません; sys.pathが間違っています
モジュールを自動的にロードするようにJupyterを構成する方法は?
Jupyterノートブックのプロジェクトで私がしていることは、
import sys
sys.path.append("../") # go to parent dir
from customFunctions import *
次に、customFunctions.py
の変更に影響を与えるために、
%load_ext autoreload
%autoreload 2
Jupyterには独自のPATH変数JUPYTER_PATHがあります。
この行を.bashrc
ファイルに追加するとうまくいきました:
export JUPYTER_PATH=<directory_for_your_module>:$JUPYTER_PATH
Jupyterはipythonのベースであり、永続的な解決策はipythonの構成オプションを変更することです。
構成ファイルを作成する
$ ipython profile create
$ ipython locate
/Users/username/.ipython
構成ファイルを編集します
$ cd /Users/username/.ipython
$ vi profile_default/ipython_config.py
次の行を使用すると、モジュールパスをsys.pathに追加できます。
c.InteractiveShellApp.exec_lines = [
'import sys; sys.path.append("/path/to/your/module")'
]
Jupyterの起動時に、前の行が実行されます
ここでは、ipython configの詳細を確認できます https://www.lucypark.kr/blog/2013/02/10/when-python-imports-and-ipython-does-not/