我可以在 VS Code 中拥有多个具有虚拟 python 环境的子文件夹吗?

Can I have multiple subfolders with virtual python environments in VS Code?

我有一个结构如下的 monorepo:

myRepo/
├─ project_1/
│  ├─ .venv/
│  ├─ main.py
├─ project_2/
│  ├─ .venv/
│  ├─ main.py
├─ .gitignore
├─ README.md

经过一番谷歌搜索后,我设法找到了一个解决方案,但它不是很优雅。我创建了一个工作区并添加了文件夹 /project_1/project_2,这很有效,我可以轻松切换和 select Python 解释器。我还需要不时修改/root中的文件,所以我也添加了这个文件夹。所有这些都使 Explorer 文件夹结构变得更大,并且由于自身的副本而更加混乱:

workspace/
├── myRepo/
│   ├── project_1/
│   │   ├── .venv/
│   │   └── main.py
│   ├── project_2/
│   │   ├── .venv/
│   │   └── main.py
│   ├── .gitignore
│   ├── README.md
│   └── myRepo/
├── project_1/
│   ├── .venv/
│   └── main.py
└── project_2/
    ├── .venv/
    └── main.py

VS Code 有一个 list of places, where it looks for virtual environments。只有位于工作区正下方的环境才会被自动拾取。不过,您也可以在 运行 和 Python: Select Interpreter 命令时输入自定义路径。只需 select“输入解释器路径...”并导航到您的 venv 的 /bin/python 可执行文件:

一旦您使用了自定义解释器路径,VS 代码就会知道它,并且可以使用 Python: Select Interpreter 命令直接select能够使用。