VS Code创建Django调试启动配置时遇imp模块缺失错误求助
解决Python 3.12 + VS Code调试Django时的
imp模块错误 核心原因
你使用的VS Code Python扩展版本(2023.4.1)不兼容Python 3.12——该版本扩展内置的debugpy依赖的pydevd库仍在调用已被Python 3.12彻底移除的imp模块(imp自Python 3.4起弃用,3.12版本完全删除)。
分步解决方法
1. 更新VS Code Python扩展
- 打开VS Code扩展面板,找到Microsoft发布的Python扩展
- 点击「更新」按钮,升级到2023.10及以后版本(该版本开始适配Python 3.12)
2. 验证调试配置
更新扩展后重新生成Django调试配置:
- 打开调试面板,点击「创建launch.json文件」
- 选择「Django」环境,自动生成配置后,确认
python字段指向你的Python 3.12解释器,示例配置:{ "version": "0.2.0", "configurations": [ { "name": "Python: Django", "type": "python", "request": "launch", "program": "${workspaceFolder}/manage.py", "args": ["runserver"], "django": true, "python": "/Users/andres/.pyenv/versions/3.12.1/bin/python" // 替换为你的Python 3.12路径 } ] }
3. 修复manage.py的SystemExit错误
这个错误多由环境配置异常导致,完成前两步后执行以下操作:
- 激活项目对应的Python虚拟环境(如果使用了)
- 在终端手动运行
python manage.py runserver,确认Django项目本身可正常启动 - 若手动运行仍报错,重新安装项目依赖:
pip install -r requirements.txt
临时应急方案(无法立即更新扩展时)
若暂时无法升级扩展,可手动修改扩展内置文件:
- 打开路径:
/Users/andres/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_utils.py - 将第32行的
from imp import new_module替换为以下代码:from importlib.util import module_from_spec import importlib.util def new_module(name): spec = importlib.util.spec_from_loader(name, None) return module_from_spec(spec)
注意:该修改会在扩展更新后被覆盖,仅作临时过渡使用。
内容的提问来源于stack exchange,提问作者andres_rr
相关产品推荐
相关产品推荐

