Как решить ошибку импорта, кроме как ипортировать локально?
Иногда сталкиваюсь с этой ошибкой:
ImportError: cannot import name 'ContextList' from partially initialized module 'Pay.utils' (most likely due to a circular import) (C:\Users\Vitaliy\PycharmProjects\Funpay\Funpay\Pay\u
tils.py)
Просматривая видеоуроки у других её не возникает, как это работает и как решить эту проблему, без способа локально импортировать класс.
Такие ошибки возникают когда код неправильно разбит на модули и модули ссылаются друг на друга циклически. К примеру модуль А что-то импортирует из Б, Б импортирует из В, а В из А.
При импорте происходит выполнение кода импортируемого модуля, если это выполнение не было еще сделано ранее.
Нужно
1) не импортировать лишнее
2) изолировать зависимости. Выносить в отдельные мдули те части, которые не зависят от других.
Приводите конкретный пример и вам расскажут как правильно всё разбить, чтобы такой проблемы не было.