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

VS Code中Pytest无法识别工作区测试,报ModuleNotFoundError求助

解决VS Code PyTest面板无法识别测试及ModuleNotFoundError问题
  • 对齐Python环境:打开命令面板(Ctrl+Shift+P),执行Python: Select Interpreter,选择和你命令行运行pytest时一致的Python环境(可通过命令行输入which python或where python查看当前环境路径)。VS Code常默认选用系统Python,若和你激活的虚拟环境不匹配,会直接导致路径识别问题。

  • 配置VS Code测试路径与项目根目录:
    在项目的.vscode/settings.json文件中(无则新建)添加以下配置:

    {
      "python.testing.pytestEnabled": true,
      "python.testing.pytestArgs": ["tests"], // 替换为你的测试文件夹名称或具体测试文件路径
      "python.analysis.extraPaths": ["${workspaceFolder}"],
      "python.defaultInterpreterPath": "${workspaceFolder}/venv/bin/python" // Windows系统改为"${workspaceFolder}\\venv\\Scripts\\python.exe"
    }
    

    核心是python.analysis.extraPaths将项目根目录加入Python搜索路径,以此解决ModuleNotFoundError——命令行运行时你大概率处于项目根目录,能正常找到模块,但VS Code默认不会自动将该目录加入sys.path。

  • 检查测试文件命名规则:确保测试文件为test_*.py或*_test.py格式,测试函数/类以test_开头,pytest仅识别符合该规则的测试项。

  • 重新触发测试识别:修改配置后,打开命令面板执行Python: Discover Tests,或直接重启VS Code,让配置生效。

  • 避免使用相对导入:测试文件中优先使用绝对导入,比如项目根目录下的YADAYADA模块,直接写import YADAYADA,不要用from .. import YADAYADA这类相对路径,防止VS Code解析路径出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 14:45:26