使用VSC调试远程服务器部署的容器化Django应用时提示Module not found
Django容器VS Code调试ModuleNotFoundError排查方案
- 核对Python解释器匹配性
容器内通常存在多个Python环境,线上运行使用的虚拟环境/指定版本Python,和VS Code调试默认选中的全局Python往往不是同一个。打开VS Code命令面板(Ctrl+Shift+P),选择Python: Select Interpreter,确认选中的解释器路径和线上启动Django时使用的Python路径完全一致。 - 补充模块搜索路径配置
大部分自定义模块导入报错是因为调试进程的PYTHONPATH未包含项目根目录。打开项目.vscode/launch.json文件,在对应的Django调试配置项中新增环境变量配置:
确保调试时的模块搜索逻辑和线上运行环境一致。"env": { "PYTHONPATH": "${workspaceFolder}" } - 校验容器环境与依赖一致性
首先确认VS Code远程连接的容器实例,和正常运行的线上容器是同一个实例。在VS Code的容器终端中执行pip list,对比依赖列表和线上环境完全一致;同时执行命令python -c "import 报错的模块名称",如果终端直接执行也报错,说明当前连接的容器环境依赖有问题,重新同步依赖即可。 - 核对调试启动配置正确性
检查launch.json中调试配置的program参数,确认指向的是项目根目录下正确的manage.py路径,避免路径写错位导致启动时工作目录偏移,无法识别项目内的自定义模块。
内容的提问来源于stack exchange,提问作者A.Ktns
相关产品推荐
相关产品推荐

