问题:
终端运行正常,但是用debug模式运行就报错:发生异常: ModuleNotFoundError
No module named 'algorithm'
File "/xxx/桌面/CDCC/algorithm/CDCC/model.py", line 5, in <module>
from algorithm.CDCC.CDCC import CDCC
ModuleNotFoundError: No module named 'algorithm'
解决方法:
解决方法一:(亲测有效,推荐好用)
快速兼容:在项目入口文件把项目根插入 sys.path(main.py 顶部),调试或运行都生效。修改 main.py,在 imports 后添加以下代码:
import os
import sys
PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
if PROJECT_ROOT not in sys.path:
sys.path.insert(0, PROJECT_ROOT)
解决方法二:
原因:调试器启动时的工作目录或 PYTHONPATH 没把项目根目录(/home/jie/桌面/CDCC)加入到 sys.path,导致 Python 找不到顶层包名 algorithm(运行终端正常是因为 cwd 正确)。
两种修复方法(任选其一):
推荐:修改 VS Code debug 配置(.vscode/launch.json),把 cwd 和 PYTHONPATH 指向工作区根。把下面内容保存为 .vscode/launch.json 或合并到你现有的 launch.json 中:
// ...existing code...
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File (cwd=workspaceFolder)",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"cwd": "${workspaceFolder}",
"env": {
"PYTHONPATH": "${workspaceFolder}"
}
}
]
}
// ...existing code...