Несколько интерпретаторов Python и добавление отдельных файлов в рабочую область VSCode ⇐ Python

Программы на Python
Anonymous
Несколько интерпретаторов Python и добавление отдельных файлов в рабочую область VSCode

Сообщение Anonymous »

У меня есть каталог проекта со следующей структурой:
.
├── .gitignore
├── .vscode
│   └── settings.json
├── README.md
├── container1
│   ├── .vscode
│   │   └── settings.json
│   ├── main.py
│   ├── module1
│   │   ├── __init__.py
│   │   └── module1.py
│   └── venv1
│   ├── bin
│   ├── include
│   ├── lib
│   └── pyvenv.cfg
├── container2
│   ├── .vscode
│   │   └── settings.json
│   ├── main.py
│   ├── module2
│   │   ├── __init__.py
│   │   └── module2.py
│   └── venv2
│   ├── bin
│   ├── include
│   ├── lib
│   └── pyvenv.cfg
├── docker-compose.yaml
└── project.code-workspace

Мне нужен интерпретатор Python для переключения между venv1 и venv2, когда я перемещаюсь между контейнером 1 и контейнером 2, и мне нужно, чтобы интерпретатор знал о локальных модулях, т. е. в контейнере 1 он должен знать модуль 1 . До сих пор мне удавалось добиться этого, создав новое окно VSCode, а затем добавив папку «container1» в рабочую область, установив интерпретатор как venv1, а затем проделав то же самое с контейнером2. Чтобы иметь возможность видеть локальные модули, у меня есть файл .vscode/settings.json в каждой папке контейнера с таким содержимым:
{
"python.autoComplete.extraPaths": ["./container1"],
"python.analysis.extraPaths": ["./container1"],
}

Проблема в том, что этот подход не позволяет мне добавлять отдельные файлы, такие как README.md или docker-compose.yaml, в рабочую область. . Поэтому вместо этого мне нужно добавить весь корневой каталог в рабочую область, но чтобы избежать повторного добавления папок контейнера1 и контейнера2, мне нужно добавить следующее в корневой каталог settings.json
{
"files.exclude": {
"container1":true,
"container2":true
}
}


Весь этот рабочий процесс действительно неприятен. Есть ли лучший способ добиться всего этого?
РЕДАКТИРОВАТЬ: похоже, сейчас это не работает:
{
"python.autoComplete.extraPaths": ["./container1"],
"python.analysis.extraPaths": ["./container1"],
}

или
{
"python.autoComplete.extraPaths": ["${workspaceFolder}/container1"],
"python.analysis.extraPaths": ["${workspaceFolder}/container1"],
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... ace-vscode

Вернуться в «Python»