在Django的models.py中无法导入model_utils模块,求解决方法
以下是几种可行的排查和解决方法:
确认VSCode使用的Python解释器为虚拟环境版本
点击VSCode左下角的Python版本选择器,选中你安装了django-model-utils的虚拟环境对应的Python解释器。VSCode常默认使用系统全局Python,会导致找不到虚拟环境内的包。重启VSCode的Python语言服务
按下Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),输入Python: Restart Language Server并执行,强制刷新语言服务的包索引。配置settings.json添加虚拟环境包路径
打开VSCode设置(Ctrl+,),搜索python.analysis.extraPaths,添加虚拟环境site-packages目录的路径。例如虚拟环境在项目根目录的venv文件夹下,路径为./venv/lib/pythonX.X/site-packages(替换X.X为你的Python版本号)。清除VSCode缓存
关闭VSCode,删除对应系统的缓存目录:- Windows:
%APPDATA%\Code\Cache和%APPDATA%\Code\CachedData - Mac:
~/Library/Caches/Code - Linux:
~/.config/Code/Cache和~/.config/Code/CachedData
重启VSCode后再次尝试导入。
- Windows:
检查导入语句拼写
确认导入语句为from model_utils.managers import ...,没有拼写错误(比如误写为modelutils)。重新安装django-model-utils
先执行pip uninstall django-model-utils,再重新运行pip install django-model-utils,确保安装过程无报错,修复可能存在的安装损坏问题。
内容的提问来源于stack exchange,提问作者Dhrions

