前回の記事で自作モジュール構成を変更した時はエディタの再起動が必要、と書いていましたが、実は自作モジュール側の修正を反映させる度に必要でとても面倒でした。
修正を即座に反映する方法はこちらになります。明示的にモジュールを Reload してやればいいんですね。
# main.py
import sys
import os
sys.path.append(os.path.dirname(__file__))
import libs.foo # この行を追加
import importlib # この行を追加
importlib.reload(libs.foo) # この行を追加
from libs.foo import Foo
f = Foo()
f.print()
この情報は Qiita の記事【Python】モジュールをアンインポート・リロードするを参考にさせて頂きました。 そもそも Reload が必要、という所に気がついたのは前回の記事のこの記述がきっかけでした。
どうも前回のモジュール解決情報が残っているようです…。
(自分で書いておきながら…なぜ半年以上気がつかない orz)