Нет модуля с именем rest_framework

Я видел, что у многих здесь возникают проблемы с этим, и я всегда вижу, как они говорят, что другие используют pip3 или просто pip для его установки.

Но в моем случае я удалил его и установил id несколько раз, используя pip или pip3, и ни один из них, похоже, не работает.

Я добавил 'rest_framework' в мои настройки, но все еще не работает. Помоги мне, пожалуйста

EDIT
Here is my settings

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'agenda.apps.AgendaConfig',
    'rest_framework',

]

REST_FRAMEWORK = {
    # Use Django's standard `django.contrib.auth` permissions,
    # or allow read-only access for unauthenticated users.
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
    ]
}

Сбор djangorestframework Загрузка djangorestframework-3.7.3-py2.py3-none-any.whl (1,5 МБ) 100% |█████████████████████████████████████████████ ███████ | 1,5 МБ 506 КБ / с Установка собранных пакетов: djangorestframework Успешно установлена ​​djangorestframework-3.7.3

До сих пор не работает

РЕДАКТИРОВАТЬ 2

> Traceback (most recent call last):   File
> "/usr/local/lib/python2.7/dist-packages/django/utils/autoreload.py",
> line 226, in wrapper
>     fn(*args, **kwargs)   File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/runserver.py",
> line 121, in inner_run
>     self.check(display_num_errors=True)   File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py",
> line 374, in check
>     include_deployment_checks=include_deployment_checks,   File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py",
> line 361, in _run_checks
>     return checks.run_checks(**kwargs)   File "/usr/local/lib/python2.7/dist-packages/django/core/checks/registry.py",
> line 81, in run_checks
>     new_errors = check(app_configs=app_configs)   File "/usr/local/lib/python2.7/dist-packages/django/core/checks/urls.py",
> line 14, in check_url_config
>     return check_resolver(resolver)   File "/usr/local/lib/python2.7/dist-packages/django/core/checks/urls.py",
> line 24, in check_resolver
>     for pattern in resolver.url_patterns:   File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py",
> line 35, in __get__
>     res = instance.__dict__[self.name] = self.func(instance)   File "/usr/local/lib/python2.7/dist-packages/django/urls/resolvers.py",
> line 313, in url_patterns
>     patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)   File
> "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py",
> line 35, in __get__
>     res = instance.__dict__[self.name] = self.func(instance)   File "/usr/local/lib/python2.7/dist-packages/django/urls/resolvers.py",
> line 306, in urlconf_module
>     return import_module(self.urlconf_name)   File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
>     __import__(name)   File "/home/cyro/PycharmProjects/MyClinic/MyClinic/urls.py", line 20, in
> <module>
>     url(r'^agenda/', include('agenda.urls')),   File "/usr/local/lib/python2.7/dist-packages/django/conf/urls/__init__.py",
> line 50, in include
>     urlconf_module = import_module(urlconf_module)   File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
>     __import__(name)   File "/home/cyro/PycharmProjects/MyClinic/agenda/urls.py", line 3, in
> <module>
>     from . import views   File "/home/cyro/PycharmProjects/MyClinic/agenda/views.py", line 8, in
> <module>
>     import rest_framework ImportError: No module named rest_framework

3 ответа

Попробуйте использовать sudo pip install djangorestframeworkЯ видел другие ТАК вопросы, и это, похоже, решило проблему.

Добавлять rest_framework как раз перед agenda.apps.AgendaConfig в установленных приложениях в файле settings.py. Кажется, что agenda приложение использует некоторые библиотеки rest_framework до его инициализации.

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'rest_framework',
    'agenda.apps.AgendaConfig',


]

Этот ответ предполагает, что вы успешно установили rest_framework и активировали virtualenv

Я знаю, что это старая проблема. Но может быть кому-то это решение покажется полезным. Когда вы используете

      pip install djangorestframework

Он установит этот пакет в локальную пользовательскую папку python вашего компьютера, и django не сможет прочитать этот пакет, поэтому мы получим

ModuleNotFoundError: нет модуля с именем «rest_framework»

Вместо этого нам придется установить этот пакет внутри нашей среды разработки.

Поэтому используйте эту команду вместо

      python -m pip install djangorestframework

Надеюсь это поможет.

Другие вопросы по тегам