Django集成fcm-django遇ModuleNotFoundError: No module named 'requests.adapters'
解决Django集成fcm-django时的
requests.adapters模块找不到问题 问题根源
错误ModuleNotFoundError: No module named 'requests.adapters'的核心原因是:你在INSTALLED_APPS中添加了'requests'——requests是Python的HTTP工具库,并非Django应用,不能被加入INSTALLED_APPS列表。这会导致Django错误地将其当作应用加载,打乱了原生requests库的导入路径,从而引发模块查找失败。
修复步骤
1. 移除INSTALLED_APPS中的requests
修改settings.py的INSTALLED_APPS配置,删除'requests'条目:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'rest_framework.authtoken', 'fcm_django', 'django_extensions', 'accounts', 'projects', # 移除该行:'requests', 'static_data' ]
2. 确保requests库正确安装
尽管你的requirements.txt包含requests,仍建议重新安装以解决可能的损坏或版本冲突:
pip uninstall requests pip install requests
若问题持续,可指定一个稳定版本(如2.31.0)安装:
pip install requests==2.31.0
3. 验证修复
重启Django项目,检查错误是否消失。若仍有异常,可清除Python缓存后重试:
# 删除项目中的__pycache__目录 find . -name "__pycache__" -type d -exec rm -rf {} +
内容的提问来源于stack exchange,提问作者Ahmed Wagdi
相关产品推荐
相关产品推荐

