Pythonの循環インポートとは?cannot import nameエラーの原因と直し方を初心者向けに解説
ファイルを分けて整理したとたん、cannot import name ... most likely due to a circular import というエラーが出て動かなくなった。そんな循環インポートのしくみを、IT初心者向けにやさしく解説します。なぜ片方のモジュールが未完成のまま読まれるのか、traceback のどこを見れば原因がわかるのか、共通部分の切り出し・import文の書き換え・関数の中でのimport・TYPE_CHECKINGという4つの直し方まで、実際に動かした結果を見ながら整理します。