python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python之ModuleNotFoundError: No module named ‘rest_framework‘

python常见问题之ModuleNotFoundError: No module named ‘rest_framework‘解决

作者:alden_ygq

这篇文章主要介绍了python常见问题之ModuleNotFoundError: No module named ‘rest_framework‘解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

这个错误表明Python 环境中缺少 Django REST Framework (DRF)。Django REST Framework 是一个用于构建 Web API 的强大工具包,但不是 Django 或 Celery 的核心依赖。

以下是完整的解决方案:

解决方法步骤

1)安装 Django REST Framework

pip install djangorestframework

2)添加到 Django 的 INSTALLED_APPS 配置

在项目 settings.py 文件中添加:

INSTALLED_APPS = [
    # ...
    'rest_framework',  # 添加这一行
    # ...
]

3)如果使用其他 DRF 组件,可能需要额外安装

# 如果需要 API 文档支持
pip install coreapi pyyaml

# 如果需要 JWT 认证
pip install djangorestframework-simplejwt

验证安装是否成功

在 Python shell 中检查:

python -c "import rest_framework; print(rest_framework.__version__)"
# 应该显示版本号,如:3.14.0

常见问题排查

1)虚拟环境问题

确保你在正确的虚拟环境中操作:

# 激活虚拟环境
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate    # Windows

# 然后重新安装
pip install djangorestframework

2)依赖冲突

# 查看已安装包
pip list

# 如果存在冲突,尝试更新
pip install --upgrade djangorestframework django

3)安装位置问题

# 检查是否安装到正确位置
python -m site

# 检查 DRF 是否在路径中
python -c "import sys; print('\n'.join(sys.path))"

如果问题仍然存在

1)强制重装

pip uninstall -y djangorestframework
pip cache purge
pip install --no-cache-dir djangorestframework

2)检查项目结构

确保项目settings.py 文件在正确位置:

myproject/
│
├── myproject/
│   ├── __init__.py
│   ├── settings.py  # <-- 应该在这里
│   ├── urls.py
│   └── wsgi.py
│
└── manage.py

3)环境变量问题

确保 Django 能找到你的设置模块:

# Linux/Mac
export DJANGO_SETTINGS_MODULE=myproject.settings

# Windows
set DJANGO_SETTINGS_MODULE=myproject.settings

完整示例代码

settings.py 应包含:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',  # DRF 必须添加
    'your_app',        # 你的应用
]

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.AllowAny',
    ]
}

安装后,能在 Django Admin 中看到 REST Framework 的相关部分,并且错误应该消失。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文