Closed1
Jupyter notebookで,import元をの中身を変更しても,importでエラーが出る

ImportError: cannot import name 'fugafuga' from 'hogehoge' (\hogehoge.py)
Jupter Notebookで,上記のようなエラーが表示された.fugafuga
は追加したつもりだが,見つからないらしい.
原因は,
Jupyter Notebookで新しい関数をPythonファイルに追加した後、その関数を使うにはカーネルを再起動する必要があります。一度インポートされたファイルはキャッシュされ、変更が反映されないためです。
とのこと.つまり,一度インポートしたものは,再度インポートしたので,新たに追加したものは見つからないと.
再起動しないで良い解決策
以下をセルに追加して実行する.
%load_ext autoreload
%autoreload 2
これによって自動的にリロードができるらしい.
2
がモードらしい.モードの具体的な意味は調べきれていないが,オートリロードの対象をすべてにする設定らしい.動いたのでヨシとする.
VScodeで起動時にオートリロードを有効にする
下記をVScodeのsettings.json
に追記することで,次回起動時も,自動的にオートリロードが有効になるみたい.
"jupyter.runStartupCommands": [
"%load_ext autoreload",
"%autoreload 2"
]
おわりに
オートリロードが有効だと重たくなるのかもしれないが,今のところ,そのような事態には遭遇していないので,デフォルト有効でいいのではって思う…
このスクラップは2025/01/28にクローズされました