django-embed-video配置后无法导入EmbedVideoField如何解决
django-embed-video导入EmbedVideoField失败排查方案
完成基础安装、应用注册步骤后出现导入失败,按以下顺序逐一排查即可:
- 校验运行环境的包安装情况
执行命令pip list | grep django-embed-video,确认包已经安装到当前项目使用的Python环境中——如果是用虚拟环境跑项目,必须激活虚拟环境后再执行安装命令,全局安装的包不会被虚拟环境识别。
同时核对版本兼容性:- 1.4.x版本仅支持Django 2.2、3.0、3.1
- 2.0及以上版本支持Django 3.2、4.x、5.x版本
版本不匹配时先卸载旧版本,再安装适配版本,例如适配Django4.2可执行pip3 install django-embed-video==2.2.0
- 核对应用注册拼写
打开settings.py的INSTALLED_APPS配置项,确认添加的应用名是全小写带下划线的embed_video,不要写成带连字符的embed-video或者其他错误拼写,拼写错误会导致Django无法加载对应应用模块。 - 核对导入语句正确性
models.py中的正确导入代码如下,注意模块名、字段名的拼写和大小写:from embed_video.fields import EmbedVideoField - 排查本地文件命名冲突
检查项目各app目录下,是否存在自行创建的名为embed_video.py的文件,或是名为embed_video的自定义文件夹,同名路径会被Python优先识别,覆盖第三方库的模块路径,导致找不到fields子模块,重命名本地冲突的文件/文件夹即可解决。 - 重启开发服务
如果是在Django runserver运行期间完成的包安装、配置修改,先彻底终止运行中的服务进程,重新执行python manage.py runserver启动,旧进程不会自动加载新安装的包和更新后的配置。
内容的提问来源于stack exchange,提问作者RandomMadi
相关产品推荐
相关产品推荐

