VSCode新建终端自动激活Python虚拟环境配置教程

标准配置方法

1. 选择 Python 解释器

这是自动激活的前提,VSCode 必须知道你要使用哪个虚拟环境:

  1. 打开命令面板:Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)
  2. 输入并选择 Python: Select Interpreter
  3. 从列表中选择你的虚拟环境(通常显示为 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:新建终端时自动激活环境,默认值为 true
  • python.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 内置变量,代表当前项目根目录,路径可移植性更好。

全局生效配置

如果希望所有项目都默认开启自动激活,将配置写入用户设置:

  1. 命令面板输入 Preferences: Open User Settings (JSON)
  2. 添加上述相同的配置项

常见问题与排错

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)给出更具体的排错步骤吗?

posted @ 2026-07-14 11:03  蓝莓薄荷  阅读(44)  评论(0)    收藏  举报