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

如何正确配置Vimspector以调试Python pytest测试?

Vimspector调试Python pytest的正确配置方案

完整的.vimspector.json配置示例

{
  "configurations": {
    "main": {
      "adapter": "debugpy",
      "configuration": {
        "request": "launch",
        "program": "${workspaceFolder}/main.py",
        "cwd": "${workspaceFolder}",
        "console": "integratedTerminal"
      }
    },
    "test": {
      "adapter": "debugpy",
      "configuration": {
        "request": "launch",
        "program": "${workspaceFolder}/.venv/bin/pytest",
        "args": [
          "${file}",
          "-xvs"
        ],
        "cwd": "${workspaceFolder}",
        "console": "integratedTerminal",
        "justMyCode": false
      }
    }
  }
}

关键配置说明

  • pytest路径:program字段要指向正确的pytest可执行文件,虚拟环境下用虚拟环境内的路径(Windows系统改为.venv/Scripts/pytest.exe),全局环境直接写pytest即可。
  • 自动获取测试文件:args里的${file}会自动加载当前Vim打开的测试文件,无需手动输入路径,避免路径错误导致的初始化失败。-xvs参数让pytest输出详细日志,便于排查调试问题。
  • 调试范围:justMyCode设为false,允许调试pytest框架代码,避免因仅限制调试自定义代码导致的协议响应冲突。
  • 环境一致性:console使用integratedTerminal,保证调试环境和终端运行环境一致,避免环境变量差异引发的问题。

排查步骤

  • 确认依赖安装:在当前环境执行pip install pytest debugpy,确保pytest和debugpy都已正确安装。
  • 激活虚拟环境:启动Vim前先激活项目的虚拟环境,或在Vim配置中自动加载虚拟环境,保证调试时使用的是正确的Python环境。
  • 检查断点有效性:断点需设置在测试函数的有效代码行(比如测试函数内部的执行代码),不要打在import语句、空行或函数定义行上。
  • 清理冲突配置:删除.vimspector.json中重复的配置项,避免引发「duplicate response」协议错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 15:10:28