VS Code 的终端使用与您选择的不同的 Python 解释器
默认情况下,它不知道您的解释器,并会使用默认的.bashrc 或操作系统中的等效值进行初始化。
我找到了两个相关的设置from an issue in Feb 2021。
勾选第二个选项Python > Terminal: Activate Environment可以自动激活虚拟环境:
在settings.json 中称为"python.terminal.activateEnvironment": true。
更新(2021 年 8 月 8 日):
今天我在 Windows 上用 VS Code 打开终端时,它自动插入了一行代码& C:/Users/[UserName]/[venv]/Scripts/Activate.ps1 以激活与所选 python 解释器关联的适当环境!
看来上述设置现在是默认行为。
虽然release notes of July 2021 (version 1.59) 中的终端行为发生了变化,但我没有看到明确提及虚拟环境激活。
新行为记录在此处,位于“Environments and Terminal windows”中。
因此,大多数以前的答案都已过时。
请改用"python.defaultInterpreterPath":
2021.6.0(2021 年 6 月 16 日)
5. 在pythonDeprecatePythonPath 实验中添加了工作区级别的python.defaultInterpreterPath 设置。 (#16485)
8、在pythonDeprecatePythonPath实验中显示python.pythonPath弃用提示。 (#16485)
2020.7.0(2020 年 7 月 16 日)
9. 在 Deprecate PythonPath 实验中,提示用户我们已从他们的工作区设置中删除了 pythonPath。 (#12533)
2020.5.0(2020 年 5 月 12 日)
6. 如果在 DeprecatePythonPath 实验中,将 python.pythonPath 设置的现有值一次性传输到新的解释器存储。 (#11052)
8. 在弃用 PythonPath 实验中,增加了提示用户从其工作区设置中删除 python.pythonPath 键的提示。 (#11108)
12. 将在launch.json 中用于引用设置中设置的解释器路径的字符串${config:python.pythonPath} 重命名为${config:python.interpreterPath}。 (#11446)
2020.4.0(2020 年 4 月 20 日)
13.新增用户设置python.defaultInterpreterPath,用于设置Deprecate PythonPath实验时的默认解释器路径。 (#11021)
如果您希望为所有工作区设置默认 Python 解释器,请使用 Ctrl+Shift+P、Preferences: Open User Settings 打开设置并搜索 Python: Default Interpreter Path。否则,如果您只想为当前工作区设置它,请改用Preferences: Open Workspace Settings。
在您的情况下,您希望将其设置为 ${workspaceFolder}/env/bin/python3.6。
如果您直接编辑 settings.json 而不是使用 GUI:
{
"python.defaultInterpreterPath": "${workspaceFolder}/env/bin/python3.6"
}
详细说明可以在文档"Manually specify an interpreter" 中找到,包括使用环境变量作为解释器的路径。