есть реализация некоего абстрактного класса. Через importlib.util.spec_from_file_location(module_name, file_path)
импортирую модуль, и там вместе с моей реализацией класса подтягиваются и импорты и сам абстрактный класс. Как этого избежать и найти наследника моего абстрактного класса?
глянуть __mro__ классов?
http://joxi.ru/krD0zEGT4B65lr
А почему бы просто не сделать соглашение в духе "в плагине должна быть функция с именем ххх, которая вернёт все что надо"
все равно же в итоге что-то в файле искать, так пускай будет абстрактный класс
В смысле, тебе все равно надо сделать какое-то соглашение о том, что нужное, а что - нет. Так что лучше сделать это максимально простым и явным
Обсуждают сегодня