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

VS Code中从项目上级目录调试Python模块的配置错误修复方案

解决VS Code调试Python模块时的ModuleNotFoundError问题

我来帮你搞定这个调试难题!你遇到的ModuleNotFoundError: No module named 'project_folder.folder1',核心原因是Python的模块搜索路径里找不到你的project_folder——虽然你已经把调试的工作目录设成了项目上级,但光靠cwd有时候不足以让Python识别到这个模块,再加上可能项目结构缺了点小细节,就触发了这个错误。

下面是一步步的修复方案:

1. 先确认你的项目结构是否合规

Python识别模块需要每个要被当作模块的目录下有__init__.py文件(空文件就行,Python 3.3+虽然支持无文件的命名空间包,但显式加上能避开很多坑)。你的目录结构应该是这样的:

parent_dir/
└── project_folder/
    ├── __init__.py
    └── folder1/
        ├── __init__.py
        └── main.py

这里parent_dir就是你要启动调试的上级目录,project_folder是你的VS Code工作区根目录。

2. 修改launch.json配置,添加PYTHONPATH

调整你的.vscode/launch.json,加上env字段把上级目录加到Python的搜索路径里,这样调试器就能找到project_folder了:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: Debug Module",
      "type": "debugpy",
      "request": "launch",
      "module": "project_folder.folder1.main",
      "cwd": "${workspaceFolder}/..",
      "env": {
        "PYTHONPATH": "${workspaceFolder}/.."
      },
      "console": "integratedTerminal"
    }
  ]
}
  • env里的PYTHONPATH会强制把上级目录(也就是project_folder所在的目录)加入Python的模块搜索路径,这是关键的一步。
  • 再核对下module字段:project_folder.folder1.main完全对应parent_dir/project_folder/folder1/main.py,不要加.py后缀哦。

3. 先手动验证模块能不能运行

在启动调试前,先在终端手动跑一遍,确认模块本身没问题:

  1. 打开VS Code的集成终端,切换到上级目录:
    cd ${workspaceFolder}/..
    
  2. 执行模块运行命令:
    python -m project_folder.folder1.main
    

如果这个命令能正常跑起来,说明你的模块结构和路径都没问题,此时再启动VS Code的调试应该就成功了。

额外要检查的小细节

  • 如果你用了虚拟环境,确保VS Code已经激活了对应的环境(终端里能看到虚拟环境的名称前缀)。
  • 检查module字段的拼写,比如目录名、文件名的大小写——Windows不区分,但Linux和macOS是严格区分的,别在这里踩坑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 09:12:29