使用drf_yasg生成Swagger文档时提示`coreapi`必须安装的错误如何解决
drf_yasg访问报错原因及解决方案
错误根因
从报错栈的最终断言异常可以直接定位:drf_yasg生成接口Schema时依赖coreapi库,当前运行环境未安装该依赖。
drf_yasg底层调用了Django REST Framework自带的SchemaGenerator工具完成接口元数据提取,这个工具的运行强依赖coreapi,缺失时就会抛出本次的AssertionError。
常见触发场景
- 近期重构了运行环境(新建虚拟环境、更换部署服务器、重装Python版本),新环境未同步安装coreapi
- 依赖管理文件未将coreapi列为显式依赖,此前是其他依赖顺带安装,近期依赖更新时被自动清理
- 升级了Django REST Framework或drf_yasg版本,新版本不再默认附带安装coreapi依赖
修复方案
执行安装命令安装coreapi即可:
pip install coreapi
如果用requirements.txt管理项目依赖,建议将coreapi>=2.3.3加入文件后执行pip install -r requirements.txt,避免后续换环境再次出现同类问题。
安装完成后重启Django服务,再次访问/doc/路径即可正常加载Swagger文档。
内容的提问来源于stack exchange,提问作者shilin agre
相关产品推荐
相关产品推荐

