BlenderでPythonモジュールを作成していると、
修正内容を反映させるために一度Blenderを閉じなければならず、不便に感じたことはありませんか?
これを解決する方法として、
Python標準ライブラリのimportlib
を使う方法をご紹介します。
目次
なぜBlenderを閉じる必要があるのか?
BlenderはPythonスクリプトを実行する際、
モジュールを一度インポートすると、そのモジュールはキャッシュされます。
そのため、モジュールを修正しても、Blenderを再起動しない限り変更が反映されません。
うー
キャッシュすることで処理の効率は上がるけど、
モジュールを作ってる最中は不便になっちゃいますね。
importlibとは?
importlib
はPython標準ライブラリの一つで、
モジュールの再読み込み(リロード)をサポートしています。
こちらを利用することで、Blenderを閉じることなく修正内容を反映させることが可能です。
importlibの活用方法
my_custom_moduleという自作モジュールを作成した場合を考えていきます。importlib
を使って再読み込みを行うコードは、以下のようになります。
import importlib
import my_custom_module # 自作モジュール.
# モジュールの再読み込み.
importlib.reload(my_custom_module)
これだけのコードでBlenderを再起動することなく、
モジュールの開発をすることが可能となるので手軽で便利ですね!
まとめ
今回はimportlib
を使うことで、
Blenderを再起動せずにモジュールの修正を反映させる方法を紹介しました。
これにより、開発の効率が格段に向上しますので、
モジュール開発時には、ぜひ活用してみてください!
おわり