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

VSCode调试Django遇ModuleNotFoundError:找不到core模块

解决Django项目VSCode调试中的模块导入错误

问题根源

  1. launch.json的PYTHONPATH配置错误:你把PYTHONPATH设成了虚拟环境的python.exe路径,这完全不符合要求——PYTHONPATH是Python用来查找模块的目录路径,而非解释器路径。
  2. 直接调试volume.py的方式错误:Django项目的脚本必须通过manage.py启动,单独运行volume.py时,Python会将其所在目录视为顶级包,无法识别上层的core包结构,导致相对导入失败。

修复步骤

1. 修正launch.json的PYTHONPATH配置

将env中的PYTHONPATH改为包含core目录的父目录(即你的Django项目根目录):

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Django",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/Django/manage.py",
            "args": [
                "runserver"
            ],
            "django": true,
            "justMyCode": true,
            "env": {"PYTHONPATH": "${workspaceFolder}/Django"}
        }
    ]
}

2. 选择正确的导入方式

绝对导入(推荐,符合Django规范)

在volume.py中保持原导入语句即可,只要PYTHONPATH配置正确,Python就能找到core模块:

import core.backend.sql.subclasses.class1 as class1

相对导入(仅在作为包的一部分运行时有效)

如果想用相对导入,因为volume.py和class1.py在同一目录,可改为:

from . import class1

注意:这种方式仅在通过manage.py启动的Django上下文下有效,不能单独运行volume.py。

3. 确保调试入口正确

必须通过launch.json中配置的manage.py启动调试,不要直接右键运行volume.py。这样Django会自动加载项目的包结构,避免导入错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 05:33:11