Импорт модуля и if __name__ == "__main__"
Уже который раз натыкаюсь на проблемы с импортами в python. Давайте представим что у нас есть такая структура проекта:
app/
- main.py
- utils/
- file1.py
- file2.py
Здесь модуль file1 импортирует модуль file2, а в файле main.py происходит импорт модуля file1. Казалось бы, ничего сложного, просто пропишем в main.py:
import utils.file1
а в file1.py пропишем:
import utils.file2
но это работает лишь при запуске main.py, а при запуске file1.py (т.е. скорее всего будет задействована конструкция if __name__ == "__main__"
) - нет. Я пробовал уже кучу способов, но так ничего и не нашёл. Не хотелось бы также использовать костыль с добавлением директории в path. Есть ли у этой проблемы решение? Или такое просто стоит избегать?