You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode运行测试时因虚拟环境激活错误导致30秒延迟

VSCode运行Python测试前30秒延迟(虚拟环境激活超时)

问题场景

用venv创建的.venv虚拟环境,终端中可正常激活,但通过VSCode UI运行测试时,每次启动前都会出现30秒延迟,输出面板显示VSCode尝试激活虚拟环境的命令因超时被SIGTERM终止,错误日志如下:

2023-06-25 11:57:42.306 [info] > . ./.venv/bin/activate && echo 'e8b39361-0157-4923-80e1-22d70d46dee6' && python ~/.vscode/extensions/ms-python.python-2023.8.0/pythonFiles/printEnvVariables.py
2023-06-25 11:57:42.306 [info] shell: bash
2023-06-25 11:58:12.313 [error] getActivatedEnvironmentVariables [Error: Command failed: . /Users/mypath/.venv/bin/activate && echo 'e8b39361-0157-4923-80e1-22d70d46dee6' && python /Users/me/.vscode/extensions/ms-python.python-2023.8.0/pythonFiles/printEnvVariables.py

    at ChildProcess.exithandler (node:child_process:409:12)
    at ChildProcess.emit (node:events:513:28)
    at maybeClose (node:internal/child_process:1121:16)
    at ChildProcess._handle.onexit (node:internal/child_process:304:5)] {
  code: null,
  killed: true,
  signal: 'SIGTERM',
  cmd: ". /Users/mypath/.venv/bin/activate && echo 'e8b39361-0157-4923-80e1-22d70d46dee6' && python /Users/me/.vscode/extensions/ms-python.python-2023.8.0/pythonFiles/printEnvVariables.py"
}
2023-06-25 11:58:12.354 [info] DAP Server launched with command: /Users/mypath/.venv/bin/python /Users/me/.vscode/extensions/ms-python.python-2023.8.0/pythonFiles/lib/python/debugpy/adapter

解决方案

  • 确认虚拟环境解释器配置
    点击VSCode左下角状态栏的Python解释器选择器,重新选中.venv/bin/python(Mac/Linux),确保VSCode直接关联虚拟环境的解释器,而非依赖激活脚本。也可在工作区settings.json中手动指定:

    {
      "python.pythonPath": "./.venv/bin/python"
    }
    
  • 修复激活脚本权限与兼容性
    执行命令确保激活脚本可执行:

    chmod +x ./.venv/bin/activate
    

    打开activate脚本,确认首行的#!/bin/bash与VSCode使用的shell一致(日志显示用的是bash),避免因shell不兼容导致执行卡住。

  • 禁用自动激活虚拟环境
    在VSCode设置中搜索python.terminal.activateEnvironment,将其设置为false。此时VSCode会直接使用指定的解释器路径运行测试,跳过激活脚本的执行步骤,绕开超时问题。

  • 更新Python插件
    当前使用的ms-python.python-2023.8.0版本存在激活环境的已知bug,更新到最新版本的Python插件,多数情况下能修复这类超时问题。

  • 排查shell配置文件耗时操作
    检查~/.bashrc或~/.zshrc等shell配置文件,若存在耗时的网络请求、大量别名加载或其他阻塞操作,会导致VSCode启动子shell时卡住。暂时注释掉非必要的耗时语句,测试延迟是否消失。

内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 18:13:23