У меня есть проект, который включает в себя несколько основных компонентов Python (приложения, которые запускаются независимо) с различными зависимостями и даже версиями Python (не идеально, но мы работаем над этим). Каждый компонент имеет свой собственный подкаталог venv
, который он должен использовать для своей полной среды Python. То, что я хотел бы сделать, это запустить Visual Studio Code из корня хранилища (у которого нет venv
) и заставить его распознавать, что для целей линтинга (и любой другой проверки кода) он следует использовать component1\venv
в качестве среды / интерпретатора Python для любых файлов, которые находятся в каталоге component1
, но использовать component2\venv
для любых файлов, которые находятся в каталоге component2
.
В настоящее время я могу запустить code component1
или code component2
, если я хочу работать только с одним компонентом одновременно (оба имеют свои собственные каталоги .vscode
с настройками среды Python), но если я хочу иметь возможность для работы с несколькими компонентами (и другими файлами, которые находятся в корневом каталоге репо), Visual Studio Code использует другую среду Python (я думаю, что система по умолчанию) для всего, независимо от каталога.
Я смотрел на связанные вопросы здесь, но если они предлагают решение этого, я пропускаю это. Если бы я мог установить различные настройки "python.pythonPath"
для каждого подкаталога в корневом файле .vscode/settings.json
, это, вероятно, сделало бы это, но я не вижу способа сделать это. В качестве альтернативы, если настройки были переопределены более локальными настройками в подкаталогах, они бы уже работали (у каждого подкаталога уже есть .vscode/settings.json
, который устанавливает его правильно "python.pythonPath"
). Может быть, сейчас это просто невозможно?
(Примечание: на данный момент меня даже не беспокоит фактическое выполнение компонентов в отладчике ... просто заставить основные инструменты кодирования и вкладку «Проблемы» работать правильно.)