VS Code升级至1.92后Django应用启动崩溃,求解决方案
Django应用VSCode升级后启动崩溃的排查与解决建议
核心问题
VSCode自动升级至1.92版本后,Django应用启动前触发RuntimeError: sha256_password或caching_sha2_password认证方法需要cryptography包,但应用文件(含代码、依赖、资源)无改动,此前运行正常,MySQL服务状态正常。
无侵入信息收集步骤(不改动Ubuntu系统)
- 检查当前Python环境的
cryptography包状态:
在终端执行:
确认包是否存在、版本号,以及安装路径是否与升级前一致。pip show cryptography - 验证VSCode使用的Python解释器:
点击VSCode左下角显示的Python版本,确认当前激活的虚拟环境/系统解释器是应用之前使用的版本,避免VSCode升级后默认切换了解释器。 - 查看VSCode升级相关操作日志:
打开VSCode的「帮助 > 切换开发人员工具 > 控制台」,搜索升级相关日志,排查是否有修改Python环境、依赖目录的操作;同时查看系统日志中VSCode升级时段的进程记录,确认是否有异常操作。 - 脱离VSCode测试应用运行:
在系统终端手动激活应用的虚拟环境,执行:
若运行正常,说明问题源于VSCode升级后的环境配置,而非系统或应用本身。python manage.py runserver
针对性解决建议
若问题来自VSCode环境配置
- 重置VSCode Python配置:
删除工作区.vscode/settings.json中关于Python解释器的配置项,重新选择正确的解释器;或执行「Developer: Reload Window」重载窗口。 - 修复虚拟环境依赖:
若终端运行也报错,激活应用的虚拟环境后执行:
强制重新安装该包(仅影响虚拟环境,不改动系统Python)。pip install --force-reinstall cryptography - 临时回退VSCode版本:
安装VSCode 1.91版本(可通过「帮助 > 关于 > 版本历史」获取安装包),安装时关闭自动升级,验证是否为新版本兼容性问题。
内容的提问来源于stack exchange,提问作者Angelo Nichols
相关产品推荐
相关产品推荐

