from my_project.module_a.module_b import my_function. (текущий каталог) и .. (родительский каталог).from . import module_c или from ..module_a import another_functionfrom ....) для поддержания читаемости.В больших Python проектах правильное использование абсолютных и относительных импортов критически важно для организации кода, упрощения поддержки и предотвращения конфликтов имен. Выбор между ними зависит от конкретной ситуации и структуры проекта, но обычно рекомендуется придерживаться определенных правил.
Абсолютные импорты:
sys.path.  Например,  import my_project.module1.submodule2.import requests).# my_project/module1.py
import my_project.module2
import external_library.some_module  # Импорт из сторонней библиотеки
Относительные импорты:
# my_project/module1/submodule1.py
from . import submodule2  # Импорт из того же пакета
from .. import module2  # Импорт из родительского пакета
from ..module2 import some_function # Импорт функции из родительского пакета
Рекомендации по использованию в больших проектах:
Пример структуры проекта и импортов:
my_project/
    __init__.py
    module1.py
    module2.py
    package1/
        __init__.py
        module3.py
        module4.py
        subpackage1/
            __init__.py
            module5.py
# module1.py
import my_project.package1.module3  # Абсолютный импорт
# package1/module3.py
from . import module4  # Относительный импорт (из того же пакета)
from .. import module1   # Относительный импорт (из родительского пакета)
# package1/subpackage1/module5.py
from .. import module3  # Относительный импорт (из родительского пакета)
from my_project.module2 import some_function #Абсолютный импорт (из другого пакета)