安装djangorestframework后VSCode仍提示unresolved import 'rest_framework'求助
rest_framework导入提示未解析但代码可运行的问题 这种情况我之前也碰到过,其实是VSCode的Python语言服务没正确识别到你的虚拟环境或者已安装的包——虽然代码能正常运行,但编辑器的红色下划线确实挺闹心的。给你几个实用的解决办法:
确认VSCode使用的是正确的Python解释器
按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac)打开命令面板,输入Python: Select Interpreter,在弹出的列表里选择你安装了djangorestframework的虚拟环境对应的Python解释器(路径里通常会包含venv或你自定义的虚拟环境名称)。重新加载VSCode窗口
选好解释器后,再次打开命令面板,输入Reload Window重启VSCode的语言服务,很多时候这一步就能直接解决包识别的问题。让VSCode重新索引Python包
如果上面的方法没用,可以尝试删除VSCode的缓存文件夹,强制它重新扫描环境:- Windows路径:
%APPDATA%\Code\User\workspaceStorage - Mac路径:
~/Library/Application Support/Code/User/workspaceStorage - Linux路径:
~/.config/Code/User/workspaceStorage
删除该文件夹后重启VSCode,它会重新索引你的Python环境中的所有包。
- Windows路径:
配置
python.analysis.extraPaths
打开VSCode设置(快捷键Ctrl+,),搜索python.analysis.extraPaths,将你的虚拟环境中site-packages的路径添加进去。比如你的虚拟环境在项目根目录的venv文件夹下,路径大概是./venv/lib/python3.7/site-packages。保存设置后重新加载窗口,让编辑器识别到这个路径下的包。更新VSCode的Python相关插件
旧版本的Python插件(或Pylance插件)可能存在包识别的bug。打开扩展面板,找到Python和Pylance插件,检查是否有可用更新,更新完成后重启VSCode再试试。
这些方法基本能覆盖大部分编辑器未识别已安装包的场景,你可以从第一个方法开始尝试,一般前两步就能解决问题啦~
内容的提问来源于stack exchange,提问作者frontendSO

