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

VS Code使用venv时Python项目结构引发ModuleNotFoundError问题求助

问题分析与解决办法

你的项目结构没问题,核心问题是**Python的模块搜索路径(sys.path)**和VS Code的运行/调试配置没匹配上:

  • 在下层my_app目录运行main.py时,当前目录会被自动加入sys.path,所以import module_1这类语句能找到对应模块;
  • 从顶层my_app目录运行时,sys.path里只有顶层目录,下层my_app不在搜索路径内,因此会报ModuleNotFoundError。

下面是具体解决步骤:

1. 配置VS Code的Python分析路径

打开VS Code设置(快捷键Ctrl+,),搜索Python › Analysis: Extra Paths,点击编辑 in settings.json,添加下层my_app的路径:

{
  "python.analysis.extraPaths": [
    "${workspaceFolder}/my_app"
  ]
}

这会让VS Code的语法分析器和运行环境都能识别到项目模块。

2. 调整调试配置(launch.json)

如果使用VS Code调试器,修改.vscode/launch.json,确保调试时的Python路径包含下层my_app,两种可选方式:

  • 方式一:设置调试工作目录为下层my_app
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: main.py",
      "type": "python",
      "request": "launch",
      "program": "${workspaceFolder}/my_app/main.py",
      "cwd": "${workspaceFolder}/my_app",
      "console": "integratedTerminal"
    }
  ]
}
  • 方式二:设置PYTHONPATH环境变量
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: main.py",
      "type": "python",
      "request": "launch",
      "program": "${workspaceFolder}/my_app/main.py",
      "env": {
        "PYTHONPATH": "${workspaceFolder}/my_app:${env:PYTHONPATH}"
      },
      "console": "integratedTerminal"
    }
  ]
}

3. 虚拟环境(venv)识别问题

不需要导入下层my_app目录,只要把顶层my_app作为VS Code工作区,VS Code会自动扫描顶层目录下的venv文件夹。如果识别不到,可手动设置:
打开设置搜索Python: Venv Path,添加顶层my_app的路径,比如${workspaceFolder}。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 08:22:18