#python #python-3.x #modulenotfounderror
#python #python-3.x #ошибка modulenotfounderror
Вопрос:
в Python 3 я пытаюсь импортировать модуль (который импортирует другой модуль), и я получаю ModuleNotFoundError. Мой основной модуль выглядит следующим образом:
from next_folder import adding
adding.add(1)
Затем в папке next folder
у меня есть два других модуля. Первый из них adding.py
:
import substracting
def add(a):
b = 1
d = substracting.substract(20)
c = a b d
print(c)
Второй (в той же папке) substracting.py
:
def substract(c):
d = c-1
print(d)
return d
Во время запуска main.py
я получаю следующую ошибку:
File "C:UsersLENOVOPycharmProjectspythonProjectmain.py", line 1, in <module>
from next_folder import adding
File "C:UsersLENOVOPycharmProjectspythonProjectnext_folderadding.py", line 1, in <module>
import substracting
ModuleNotFoundError: No module named 'substracting'
Не могли бы вы помочь мне изменить этот код, чтобы main.py
он действительно работал? Спасибо!
Ответ №1:
В этом случае вы можете использовать относительный импорт
from . import substracting
В python 3 относительный импорт поддерживается только в форме from . импорт подмодуля
Это тоже сработало бы:
import next_folder.substracting as sub
def add(a):
b = 1
d = sub.substract(20)
c = a b d
print(c)