Как я могу обрабатывать циклические зависимости в Python при использовании импорта в большом проекте?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу обрабатывать циклические зависимости в Python при использовании импорта в большом проекте?

Сообщение Anonymous »

Я работаю над большим проектом Python и столкнулся с ситуацией, когда два или более модулей имеют циклические зависимости. Например, модуль A импортирует модуль B, а модуль B импортирует модуль A (прямо или косвенно). Это вызывает ошибку ImportError, поскольку интерпретатор не может разрешить зависимости. У меня есть следующая структура:
Модуль A

Код: Выделить всё

from module_b import func_b
def func_a():
print("This is function A")
func_b()
Модуль B

Код: Выделить всё

from module_a import func_a

def func_b():
print("This is function B")
func_a()
Когда я пытаюсь запустить код, я получаю сообщение об ошибке:

Код: Выделить всё

ImportError: cannot import name 'func_a' from partially initialized module 'module_a'
Мои вопросы по этому поводу?
  • Как лучше всего обрабатывать циклический импорт в Python, особенно когда модули нужно ссылаться друг на друга?
  • Существуют ли какие-либо шаблоны проектирования, которым мне следует следовать, чтобы избежать циклических зависимостей?
  • Можно ли разбить модули на меньшие, более сфокусированные подмодули помогают предотвратить эту проблему, или есть более питонический способ справиться с циклическими импорт в крупных проектах?


Подробнее здесь: https://stackoverflow.com/questions/793 ... a-large-pr
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как я могу обрабатывать циклические зависимости в Python при использовании импорта в большом проекте?
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как я могу обрабатывать циклические зависимости в Python при использовании импорта в большом проекте?
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Циклические зависимости, шаблоны и структура проекта в проекте C++ и Qt [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • ОО-проектирование и циклические зависимости
    Anonymous » » в форуме JAVA
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • ОО-проектирование и циклические зависимости
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»