You need to enable JavaScript to run this app. Django项目已安装djangorestframework-simplejwt仍报模块不存在错误求助
优惠活动
大模型
产品
解决方案
定价
更多

Django项目已安装djangorestframework-simplejwt仍报模块不存在错误求助

问题排查与解决方案

核心报错根源定位

你遇到的ModuleNotFoundError: No module named 'rest_framework_simplejwt'本质是两个层面的问题,按排查优先级从高到低操作即可解决:

1. 解决模块导入失败的环境不匹配问题

pip freeze能看到对应包不代表包已经安装到了你运行runserver用的Python解释器环境里,这是最常见的导入失败诱因:

  • 在执行python manage.py runserver的同一终端窗口,先执行以下命令确认当前运行的Python解释器路径:
    python -c "import sys; print(sys.executable)"
  • 再执行pip show djangorestframework-simplejwt,检查输出的Location路径对应的Python环境,和上面打印的解释器路径是否一致。
    • 如果路径不一致,说明你之前pip安装的包被装到了其他Python环境下(比如全局Python、未激活的虚拟环境、多版本Python共存的其他版本目录),需要直接用当前项目使用的解释器来安装依赖,执行命令:
      [刚才打印的解释器全路径] -m pip install djangorestframework-simplejwt==4.6.0
    • 安装完成后可以执行python -c "import rest_framework_simplejwt",如果没有报错就说明模块已经可以被正常导入了。

2. 修复依赖版本兼容冲突

就算解决了导入问题,你当前的版本栈依然存在不兼容问题,会导致后续运行报错:

  • 你当前环境的PyJWT版本是2.0.1,和djangorestframework-simplejwt 4.6.0存在API不兼容:simplejwt 4.6.0 官方要求的PyJWT版本范围是>=1.7.1,<2.0.0,PyJWT 2.x 版本对核心验证逻辑做了不向后兼容的修改,会导致令牌生成、验证环节报错。
  • 适配你现有Django3.0、DRF3.10版本栈的兼容依赖安装命令为:
    python -m pip install "PyJWT==1.7.1" "djangorestframework-simplejwt==4.6.0"

无效操作认知修正

  • 不需要在settings.py顶部手动添加import rest_framework_simplejwt语句,模块导入失败的问题不会因为写了这行代码得到解决。
  • Simple JWT不需要强制添加到INSTALLED_APPS配置项中:该库没有需要Django框架加载的应用级启动逻辑,加不加入INSTALLED_APPS都不影响认证类的正常调用。
  • 你当前写在REST_FRAMEWORK配置里的JWTAuthentication路径是完全正确的,不需要修改。

内容的提问来源于stack exchange,提问作者Jake Mulhern

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.31 01:45:10