Python, "wzajemne" importowanie modułów
Mam następującą strukturę katalogów:
(główny)
|----A
| |---- __init__.py
| |---- B.py
| |---- C.py
|
|----main.py
W main.py:
from A.B import BClass
b = BClass()
W B.py:
from C import CClass
class BClass: pass
c = CClass()
W C.py:
from B import BClass
class CClass: pass
Powyższy kod (uruchomienie main.py) wyrzuca błąd :
A\C.py, line 1, in <module>
from B import BClass
ImportError: cannot import name BClass
Nie rozumiem co robię źle. Błąd znika dopiero po zakomentowaniu pierwszej linii z C.py . Czy moduły nie mogą się wzajemnie importować? Jak powinna wyglądać prawidłowa zależność między modułami?