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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 05:55:20