VSCode调试Docker容器内Django应用时提示找不到django模块
检查VSCode调试配置的Python解释器路径
连接容器后,VSCode可能默认选用了容器内未安装Django的Python版本。打开VSCode左下角的Python解释器选择器,确认选中的是安装了依赖的Python环境(例如/usr/local/bin/python或虚拟环境路径)。同时检查.vscode/launch.json中的python字段是否指向正确路径,示例配置:{ "version": "0.2.0", "configurations": [ { "name": "Django", "type": "python", "request": "launch", "program": "${workspaceFolder}/manage.py", "args": ["runserver", "0.0.0.0:8000"], "python": "/usr/local/bin/python" } ] }确认Docker Compose工作目录与挂载路径匹配
检查docker-compose.yml中的working_dir配置,确保其与本地代码挂载到容器的路径一致,避免调试时工作目录错位导致环境不匹配。示例配置:services: web: build: . working_dir: /app volumes: - .:/app验证虚拟环境是否正确激活
如果Dockerfile中使用了虚拟环境安装依赖,需确保调试时指向虚拟环境的Python解释器。可在Dockerfile中添加ENV PATH="/venv/bin:$PATH"将虚拟环境设为默认,或直接在VSCode调试配置中指定虚拟环境路径(例如/venv/bin/python)。检查依赖安装路径是否在Python的sys.path中
在容器内执行pip show django获取安装路径,再运行Python执行以下代码验证路径是否在sys.path中:import sys print(sys.path)若路径不在列表中,需重新安装依赖或调整Python环境变量。
核对Dockerfile的依赖安装步骤
确保Dockerfile中先复制requirements.txt再执行pip install,避免因代码复制覆盖导致依赖未正确安装。示例Dockerfile:FROM python:3.9 WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . .
内容的提问来源于stack exchange,提问作者MsA

