####コピペ
http://d.hatena.ne.jp/machua/20101026/1288099599
####事象
以下のようなモジュール構造で、互いにモジュールを呼び合う場合に発生。
ファイル構成
view\
__init__.py
form1.py
form2.py
form1.py
from veiw.fom2 import frm2
class frm1 ():
....
form2.py
from veiw.fom1 import frm1
class frm2 ():
....
####原因
インポート時に、自分自身をインポートしているためにエラーとなっている(と思う)
ちなみに、組み込みモジュールと同じ名前のモジュールを作成した時も発生する。
####解決策
グローバルな箇所でインポートをするのではなく、クラス内でインポートする。
例えば、コンストラクタ内や画面を呼び出す直前のファンクション内など。
form1.py
class frm1 ():
def __init__(self):
from veiw.fom2 import frm2
self.fm = frm2()