I have a directory structure:
network/__init__.py
network/model.py
network/transformer/__init__.py
network/transformer/t_model.py
both __init__.py
files have appropriate
__all__ = [
"model", # or "t_model" in the case of transformer
"view",
]
In t_model.py, I have
from .. import model
but it says:
ImportError: cannot import name model
If I try
from ..model import Node
it says:
ImportError: cannot import name Node
These are very confusing errors.
Edit: Even an absolute import fails:
import network as N
print(dir(N), N.__all__)
import network.model as M
['__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', 'transformer'] ['model', 'view']
Traceback (most recent call last):..........
AttributeError: 'module' object has no attribute 'model'
Edit: It was a circular import.