Импорт VSCode не работает на Python, но работает в PyCharm

#python #python-3.x #visual-studio-code #vscode-settings #vscode-extensions

Вопрос:

В настоящее время я работаю над проектом, который выполняю на Python, но по какой-то причине импорт работает неправильно. Сначала я думал, что проблема как-то связана с моим кодом, но когда я попытался открыть свой проект в PyCharm, импорт из другого модуля работал просто отлично. У меня вообще не было никаких проблем. Каталог моего проекта выглядит примерно так:

 C:.
└───project_folder
    │   __init__.py
    │
    ├───app
    │       thing.py
    │       another_thing.py
    │
    ├───data
    │       data.py
    │       graph.py
    │       __init__.py
    │
    ├───models
    │       abc.py
    │       def.py
    │       ghi.py
    │       __init__.py
    │
    └───test
            test_abc.py
            test_def.py
            test_ghi.py
            __init__.py
 

когда я зайду в каталог тестов и введу test.abc:

 from models.abc import ClassABC #Class in abc.py
 

вместо импорта из модуля из указанного пакета я получаю ModuleNotFoundError, и VSCode просто не распознает пакет как фактический пакет и думает, что «модели» — это модуль. Мне было любопытно, поэтому я решил попробовать и посмотреть, сохранится ли та же проблема, если я попытаюсь использовать PyCharm, и по какой-либо причине код выполняется без каких-либо проблем, и все работает отлично. Проблема только в VSCode, и я не знаю, почему. Кто-нибудь может мне помочь?

Комментарии:

1. Если ваш текущий каталог есть project_filder , и вы наберете python test/test_abc.py его , он будет работать. Если ваш текущий каталог таков project_folder/test , он не будет работать. потому что он понятия не имеет, как его найти models .

2. @TimRoberts Я попробовал это, но все равно ничего не вышло. Я все еще получаю ту же ошибку, что и раньше.

3. Я не уверен, как вообще появилась привычка помещать тестовые сценарии в test каталог. Для того чтобы использовать модули в рамках проекта, тестовые сценарии должны быть на верхнем уровне.

4. Твое __init__.py project_folder присутствие странно.

5. @WolfgangKuehn хорошо, но удаление этого тоже не помогает. Проблема не в том, что проект вообще не работает. Проблема в том, что проект специально не работает в vscode, но все еще работает в другой среде разработки, такой как PyCharm…