如何在Microsoft Dev Containers中正确配置Python路径解决Django包导入问题?
以下是针对你遇到的Pylance无法解析django.contrib.auth.models模块的具体解决步骤:
手动指定Python解释器
打开VS Code命令面板(Ctrl+Shift+P),执行Python: Select Interpreter,选中/opt/venv/bin/python3.11。devcontainer.json的配置有时不会自动生效,手动选择能触发VS Code正确识别虚拟环境。更新废弃的配置项
python.pythonPath已被VS Code废弃,改用python.defaultInterpreterPath和python.venvPath配置。修改devcontainer.json如下:"customizations": { "vscode": { "settings": { "python.defaultInterpreterPath": "/opt/venv/bin/python3.11", "python.venvPath": "/opt/venv" } } }修改后重启开发容器,确保配置生效。
添加Pylance额外路径
如果虚拟环境已识别但报错仍存在,在容器内的.vscode/settings.json中添加site-packages路径,强制Pylance扫描该目录:"python.analysis.extraPaths": [ "/opt/venv/lib/python3.11/site-packages" ]注意根据你的Python版本调整路径中的
python3.11部分。验证虚拟环境中的Django安装
进入容器终端,执行source /opt/venv/bin/activate激活虚拟环境,再运行pip list确认Django已安装。如果未安装,执行pip install django完成安装。重启Pylance语言服务
打开命令面板,执行Python: Restart Language Server,清除Pylance的缓存并重新加载环境配置,解决延迟识别问题。确认项目工作区路径
确保VS Code的工作区根目录是你的Django项目根目录(包含manage.py的目录)。Pylance依赖项目结构自动解析Django模块,工作区路径错误会导致识别失败。
内容的提问来源于stack exchange,提问作者ralvarez

