VSCode新建终端自动激活Python虚拟环境配置教程
标准配置方法
1. 选择 Python 解释器
这是自动激活的前提,VSCode 必须知道你要使用哪个虚拟环境:
- 打开命令面板:
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS) - 输入并选择 Python: Select Interpreter
- 从列表中选择你的虚拟环境(通常显示为
Python 3.x.x ('.venv': venv))
选择后,VSCode 会在项目根目录生成 .vscode/settings.json 并记录该环境。
2. 确认自动激活开关
Python 扩展默认已开启自动激活,可通过以下方式确认:
打开 .vscode/settings.json(工作区级,仅对当前项目生效),添加或确认:
{
"python.terminal.activateEnvironment": true,
"python.terminal.activateEnvInCurrentTerminal": true
}
python.terminal.activateEnvironment:新建终端时自动激活环境,默认值为truepython.terminal.activateEnvInCurrentTerminal:Python 扩展加载时,激活当前已打开的终端,默认值为false
3. 固定默认解释器路径(可选)
如果 VSCode 无法自动识别虚拟环境,可以手动指定路径:
Windows 示例:
{
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/Scripts/python.exe",
"python.terminal.activateEnvironment": true
}
macOS / Linux 示例:
{
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"python.terminal.activateEnvironment": true
}
${workspaceFolder} 是 VSCode 内置变量,代表当前项目根目录,路径可移植性更好。
全局生效配置
如果希望所有项目都默认开启自动激活,将配置写入用户设置:
- 命令面板输入 Preferences: Open User Settings (JSON)
- 添加上述相同的配置项
常见问题与排错
1. Windows PowerShell 禁止运行脚本
如果终端报错"无法加载文件 Activate.ps1,因为在此系统上禁止运行脚本",需要修改执行策略:
- 以管理员身份打开 PowerShell,执行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser - 输入
Y确认即可
2. 自动激活失效
如果配置后仍不生效,可尝试以下方案:
- 关闭所有终端,重新打开新终端测试
- 重启 VSCode
- 确认虚拟环境路径正确,且包含
pyvenv.cfg文件 - 排除环境变量注入模式的干扰,可在 settings.json 中添加:
{ "python.experiments.optOutFrom": ["pythonTerminalEnvVarActivation"] }
3. 验证是否激活成功
终端提示符前缀出现 (.venv) 或你的虚拟环境名称,即表示激活成功。也可以执行以下命令验证:
which python # Linux/macOS
where python # Windows
输出路径指向虚拟环境目录内的 python 即为正常。
备选方案:自定义终端启动命令
如果上述方法不生效,还可以通过自定义终端配置强制执行激活命令:
{
"terminal.integrated.profiles.windows": {
"PowerShell with venv": {
"source": "PowerShell",
"args": ["-NoExit", "-Command", "& '${workspaceFolder}/.venv/Scripts/Activate.ps1'"]
}
},
"terminal.integrated.defaultProfile.windows": "PowerShell with venv"
}
总结:正常情况下,只要通过 Python: Select Interpreter 选中了虚拟环境,VSCode Python 扩展默认就会在新建终端时自动激活,无需额外配置;如果失效,优先检查解释器选择和执行策略问题。
需要我针对你使用的系统(Windows/macOS/Linux)给出更具体的排错步骤吗?

浙公网安备 33010602011771号