Задать вопрос
@Vitalii181190
Начинающий вэб-разработчик

Как решить ошибку импорта, кроме как ипортировать локально?

Иногда сталкиваюсь с этой ошибкой:
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)

Просматривая видеоуроки у других её не возникает, как это работает и как решить эту проблему, без способа локально импортировать класс.
  • Вопрос задан
  • 464 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
trapwalker
@trapwalker
Программист, энтузиаст
Такие ошибки возникают когда код неправильно разбит на модули и модули ссылаются друг на друга циклически. К примеру модуль А что-то импортирует из Б, Б импортирует из В, а В из А.
При импорте происходит выполнение кода импортируемого модуля, если это выполнение не было еще сделано ранее.
Нужно
1) не импортировать лишнее
2) изолировать зависимости. Выносить в отдельные мдули те части, которые не зависят от других.

Приводите конкретный пример и вам расскажут как правильно всё разбить, чтобы такой проблемы не было.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Strikt Москва
от 100 000 до 180 000 ₽
ITK academy Саратов
от 75 000 ₽
Sim-Ba Pay Санкт-Петербург
от 180 000 ₽