Ошибка ModuleNotFound с VSCode Python 3.8.2 - PullRequest
0 голосов
/ 03 мая 2020

Я зеленый рог, поэтому go легко для меня:

Я пытался разделить проект python, над которым я работал, на более мелкие части. С этой целью я создал 4 класса в одной папке в VSCode, один из которых является основным классом, который импортирует другие 3 и обращается к их методам et c.

Структура выглядит следующим образом:

top_level_folder
|--lower_level_folder
 |--class1.py
 |--class2.py
 |--class3.py
 |--mainclass.py

Теперь мой основной класс должен импортировать другие 3 класса через

from top_level_folder.lower_level_folder import class1
etc.

Однако, делая это таким образом, я получаю ошибку ModuleNotFound (нет модуля с именем top_level_folder)

import class1
etc

приводит к ошибке TypeError, а

import top_level_folder.lower_level_folder.class1 as x

тоже не работает

Есть ли что-то очевидное, что мне не хватает? Это связано с моей установкой VS C?

1 Ответ

0 голосов
/ 03 мая 2020

Это зависит. Если вы используете mainclass.py в качестве исполняемого скрипта, ваш импорт должен выглядеть следующим образом mainclass.py

from class1 import MyClass

Но если вы планируете импортировать модуль извне Папка, вам нужен либо файл __init__.py, либо вы должны указать имя папки. Т.е. структура вашего файла выглядит следующим образом:

top_level_folder
|--lower_level_folder
 |--__init__.py
 |--class1.py
 |--class2.py
 |--class3.py
 |--mainclass.py
|--main.py

Ваш файл импортируется следующим образом main.py

from mainclass import MyClass

mainclass.py

from lower_level_folder.class1 import MyClass2

__ init __. Py

from lower_level_folder.mainclass import MyClass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...