Как правильно сделать такой импорт

Итак, это моя текущая структура папок

└── Main folder/
    ├── subfolder/
    │   ├── subfolder_function.py
    │   └── subfolder_function2.py
    └── main.py

снимок экрана

и это содержимое каждого файла

подпапка_function2.py

def subfolder_function2():
    print("Hey I'm subfolder_function2.py")

подпапка_function.py

from subfolder_function2 import subfolder_function2

def my_function_from_subfolderfunc2():
    subfolder_function2()

main.py

from subfolder.subfolder_function import my_function_from_subfolderfunc2

if __name__ == '__main__':
    print(my_function_from_subfolderfunc2()))

Почему я продолжаю получать эту ошибку:

Traceback (most recent call last):
  File "C:\R24\Main folder\main.py", line 1, in <module>
    from subfolder.subfolder_function import my_function_from_subfolderfunc2
  File "C:\R24\Main folder\subfolder_function.py", line 1, in <module>
    from subfolder_function2 import subfolder_function2
ModuleNotFoundError: No module named 'subfolder_function2'

Как правильно получить доступ к функции из subfolder_function2.py?

🤔 А знаете ли вы, что...
Python позволяет создавать графические приложения с использованием библиотеки PyQt.


28
1

Ответ:

Решено

Вам нужно использовать относительный импорт в subfolder_function.py, чтобы указать, что вы хотите, чтобы импорт был из того же каталога. См. документы для получения дополнительной информации об относительном импорте.

подпапка_function.py

from .subfolder_function2 import subfolder_function2

...