已安装PyJWT,Django项目仍报ModuleNotFoundError: No module named 'jwt'
解决Django集成Auth0后
ModuleNotFoundError: No module named 'jwt'问题 排查方向1:确认虚拟环境激活状态
- 运行
python manage.py runserver前,必须确保处于Pipenv虚拟环境中:- 执行
pipenv shell激活环境后再启动服务 - 或直接用
pipenv run python manage.py runserver运行,避免与系统全局Python混淆
- 执行
排查方向2:检查导入冲突
- 确认代码中
import jwt的写法正确,PyJWT库的导入名就是jwt - 检查项目目录下是否存在自定义的
jwt.py文件,这会覆盖第三方库的导入路径,若有则立即重命名该文件
排查方向3:重建虚拟环境依赖
- 删除旧的虚拟环境并重新安装依赖:
pipenv --rm pipenv install - 手动指定版本安装PyJWT,确保依赖锁定正确:
pipenv install pyjwt==2.9.0
排查方向4:验证Python解释器路径
- 执行
which python(Linux/macOS)或where python(Windows),确认当前使用的Python是Pipenv虚拟环境内的解释器,而非系统全局版本 - 若使用IDE开发,需在项目设置中指定解释器为Pipenv创建的虚拟环境解释器
内容的提问来源于stack exchange,提问作者Chase The Coder
相关产品推荐
相关产品推荐

