VS Code调试Python模块时出现ModuleNotFoundError问题求助
解决Python调试中
ModuleNotFoundError: No module named 'project-main'的问题 核心问题分析
- Python模块名不允许包含连字符(
-),因此project-main无法被识别为合法的模块名。 - 项目根目录(
project-main)未被添加到Python的模块搜索路径(sys.path),导致调试器无法定位examples和ns模块。
解决方案
步骤1:标记子目录为可导入模块
在project-main/ns和project-main/examples目录下分别创建空的__init__.py文件,Python会将这些目录识别为可导入的模块。
步骤2:修改launch.json调试配置
根据VS Code打开的工作目录,选择对应配置:
情况1:VS Code已打开project-main目录
更新launch.json如下:
{ "version": "0.2.0", "configurations": [ { "name": "Python Module", "type": "python", "request": "launch", "module": "examples", "cwd": "${workspaceFolder}", "env": { "PYTHONPATH": "${workspaceFolder}" } } ] }
情况2:VS Code打开的是project-main的父目录
如果不想修改目录名,改用脚本模式调试具体文件:
{ "version": "0.2.0", "configurations": [ { "name": "Python Script", "type": "python", "request": "launch", "program": "${workspaceFolder}/project-main/examples/your_script.py", // 替换为目标脚本文件名 "cwd": "${workspaceFolder}/project-main", "env": { "PYTHONPATH": "${workspaceFolder}" } } ] }
备选方案:重命名项目根目录(可选)
若愿意修改目录名,将project-main改为project_main(下划线替代连字符),更新launch.json配置:
{ "version": "0.2.0", "configurations": [ { "name": "Python Module", "type": "python", "request": "launch", "module": "project_main.examples", "cwd": "${workspaceFolder}", "env": { "PYTHONPATH": "${workspaceFolder}" } } ] }
内容的提问来源于stack exchange,提问作者Hanna
相关产品推荐
相关产品推荐

