我正在 VSCode 中处理一个具有多个目录的项目,每个目录都需要不同的 Python 虚拟环境。我的虚拟环境位于 ~/.virtualenvs 目录中,我的工作区结构如下:
~/.virtualenvs/
│
├── venv_A/
│
└── venv_B/
my_workspace/
│
├── project_A/
│ └── script_A.py
│
└── project_B/
└── script_B.py
当我从工作区中的每个目录打开 Python 文件时,我希望 VSCode 自动切换到位于 ~/.virtualenvs 中的相应虚拟环境(project_A 为 venv_A,project_B 为 venv_B)。 目前,我每次都必须通过命令面板手动选择虚拟环境。
我尝试查看 VSCode 文档并搜索有关如何实现此功能的指南或教程,但我没有找到任何可以解决此特定问题的内容。 我希望通过 .vscode/settings.json 文件或工作区设置提供一些配置选项,这些选项允许我指定每个目录应使用哪个虚拟环境,以及 Pylance、pylint 和 yapf 应如何进行相应的调整。
我知道 VSCode 支持工作区和 .env 文件,但我不确定如何将其配置为根据目录自动切换虚拟环境,并让 Pylance、pylint 和 yapf 进行相应的调整。
我也发现了这个问题Select pyenv environment based on folder .python-version file没有关闭。
最佳答案
最简单的方法是分别打开 project_A
和 project_B
作为工作空间,然后为工作空间选择一个解释器,vscode 会记住你的选择,并且仍然会使用下次打开时先前选择的解释器。
另一种方法是使用 Multi-root Workspaces
打开一个新窗口并使用
将文件夹添加到 Worspace...
将这两个文件夹添加到当前工作区,然后使用 Ctrl+Shift+P 为两个文件夹创建单独的虚拟环境 -->
Python:创建环境...
并选择相应文件夹的解释器。也可以选择对应文件夹中的
.py
文件,然后点击右下角的python版本进行切换
这些文档也可能有用:
关于python - 在工作区中的每个目录的 Visual Studio Code 中自动切换 Python 虚拟环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76432343/