Contents

プリントデバッグ

Blenderのaddonはpythonで書くのですが、開発時にプリントデバッグができないのが難点です。

エラーメッセージはinfo windowに表示されますが、プリント結果は見ることが出来ません。

workaround 1: ターミナルから起動

blenderをターミナルから起動することで、標準出力がターミナル上に出力されます。

デメリットは、めんどくさいことですね。

workaround 2: ログファイルを吐く

ターミナルから毎回起動するのはめんどくさいので、プロジェクトファイルと同じディレクトリにログファイルを吐くようにしています。

これは、__init__.pyに以下を記述することで可能です。(必要なところだけを記述しています。)

import bpy
import logging


logger = logging.getLogger()
file_handler = logging.FileHandler(
    "hogehoge.log", mode="w")
formatter = logging.Formatter(
    fmt="[%(asctime)s] %(levelname)s [%(name)s/%(funcName)s() at line %(lineno)d]: %(message)s", datefmt="%Y-%m-%d %H:%M:%S")
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
logger.setLevel(logging.DEBUG)



class HogeHoge(bpy.types.Operator):

    def execute(self, context):
        logger.debug("hogehoge")
        return {"FINISHED"}

再起動タイミング

__init__.py上で他のpythonファイルを読み込んでいる場合、blenderの起動時にコンパイルされ*.pycが生成されます。

したがって__init__.pyで読み込まれているコードを修正した場合、addonを削除 → 再インストール しても変更が反映されません。

  1. addonを削除
  2. blenderを再起動
  3. addon(修正済み)をインストール

という手順を踏む必要があります。

関連記事

fitbitの睡眠スコアを90弱で安定させる良い睡眠を続ける簡単な方法

m1 ipad pro 12.9 2021のusb-cハブはコレがベスト

Time Machine不要!Macを11.2.3にダウングレードして原神をm1 macbook airでプレイする

MH-Z19CとM5StickCで二酸化炭素濃度モニタリング

【神軽量HMD】Avegant Glyph 改造: 瓶詰堂さんのaltglyphを作った

PC、iPad、Android、switchもドックいらず!あまりに万能なusb-cハブが最強だった

コメント

コメントを返信する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です