Импорт модуля из родительского каталога

Необходимо импортировать функцию из модуля(f1), лежащего папкой выше(в folder1) в модуль f2 лежащий в folder2. Вариант с sys.path.append("путь к папке") помогает, но к сожалению не устраивает изначально. Пробовал добавлять __init__ по папкам и обращаться from folder.f1 и т.д - ничего не помогло (ModuleNotFoundError). Что делаю не так? Возможно в __init__ надо что-то прописать?

[см скриншот]


Ответы (1 шт):

Автор решения: Roman Konoval

Делайте относительный импорт:

# фрагмент из f2.py
from ..f1 import f

В общем случае можно указывать и родителя родителя и т.д:

from ..module_in_parent_package import some_func
from .. import other_func    # импорт из __init__ родителя или импорт модуля из родителя
from ...module_in_grandparent_package import yet_other_func
→ Ссылка