Я пытаюсь понять поведение VSCode в отношении запуска скриптов Python, хранящихся в подпакетах проекта.
Если у меня есть структура проекта, подобная следующей:
proj/
util/
main/hello.py
test/
Если hello.py импортирует из proj.util - и я использую «Запуск файла Python в терминале», чтобы выполнить скрипт, он завершается неудачно с модулем не найден (proj.util) - потому что по умолчанию каталог верхнего уровня проекта не добавляется к питону. Если я создаю файл .env в корневом каталоге и добавляю определение для PYTHONPATH, чтобы включить в него каталог верхнего уровня моего проекта, этот файл также не используется при запуске с помощью указанной выше опции.
Если я создаю набор запусков отладки по умолчанию и использую «текущий файл debug-Python в терминале» - это прочитает файл .env и будет работать как положено.
PyCharm автоматически добавляет каталог проекта верхнего уровня в sys.paths при запуске скрипта в терминале - разве VSCode не должен предоставлять такую опцию или я что-то упустил?
Текущая версия выглядит следующим образом, хотя я вижу то же поведение под Windows.
Version: 1.30.1
Commit: dea8705087adb1b5e5ae1d9123278e178656186a
Date: 2018-12-18T22:23:23.072Z
Electron: 2.0.16
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
OS: Linux x64 4.19.12-arch1-1-ARCH