Из helpers.py:
import ...
from datasets import my_datasets
class Printable():
def __str__(self):
return 'foobar'
def get_some_dataset(ds_id):
return my_datasets.get(ds_id, None)
из datasets.py:
import ...
from helpers import Printable
class Dataset(Printable):
def __init__(self, param):
self.baz = param
my_datasets = {
'id1': Dataset(foo),
'id2': Dataset(bar)
}
А теперь Python кричит, что
ImportError: невозможно импортировать имя'Printable' from 'helpers'
Если я полностью удаляю зависимость Printable, все работает хорошо.
Если я немного изменю импорт в datasets.py:
import helpers as ma_helpers
class Dataset(ma_helpers.Printable):
...
Затем появляется сообщение об ошибке:
AttributeError: модуль 'helpers' не имеет атрибута 'Printable'
Как я могу использовать helpers.py's Printable
из datasets.py, и в то же время использовать my_datasets
datasets.py's из helpers.py?