#python #import
#python #импорт
Вопрос:
Я искал этот вопрос через stackoverflow, но не могу найти ответ, который исправляет это. Я пытаюсь научиться выполнять правильный импорт с помощью python.
Я использую Python 3.8.2, и у меня есть следующая простая настройка каталога.
main_folder
folder1
myclass.py
folder2
testclass2.py
testclass1.py
Оба testclass1.py и testclass2.py имейте это внутри:
from folder1.myclass import Myclass
Это отлично работает для testclass1.py , но когда я вбегаю в testclass2.py это выдает мне ошибку.
Ошибка ModuleNotFoundError: нет модуля с именем ‘folder1’
Несмотря на то, что я прочитал, что Python больше не требует этого, я вставил __init__.py
файл в папку 1. Это привело к той же ошибке. Затем я попытался следовать инструкциям для файла инициализации в этой статье, но улучшения не было. Я также пытался использовать относительные пути по сравнению с абсолютными путями для импорта, но безуспешно.
Помощь очень ценится.
Ответ №1:
Из testclass2.py
импорта должно быть так:
from ..folder1.myclass import Myclass
Комментарии:
1. Я пробую это, и результатом является следующая ошибка: ImportError: попытка относительного импорта без известного родительского пакета
2. Вы должны добавить init.py файлы в каждый из каталогов, включая main_folder
3. Спасибо. Но никакой разницы. Кроме того, я понимаю, что инициализация больше не требуется с определенной версии python.