web-dev-qa-db-fra.com

Django Rest Framework - pas de module nommé rest_framework

J'ai installé Django Rest Framework en utilisant pip install djangorestframework et pourtant je reçois toujours cette erreur quand je lance "python3 manage.py sycndb":

ImportError: Aucun module nommé 'rest_framework'

J'utilise python3, est-ce mon problème?

34
tryingtolearn

Vous devez installer la structure de repos Django à l’aide de pip3 (pip pour python 3):

pip3 install djangorestframework

Vous trouverez des instructions sur l’installation de pip3 ici

57
Vingtoft

si vous oubliez ,, ça va arriver, c'est bizarre

mauvais exemple: besoin d'un ,

INSTALLED_APPS = [
'rest_framework'
'Django.contrib.contenttypes',
'Django.contrib.admin',
'Django.contrib.auth',
'Django.contrib.sessions',
'Django.contrib.messages',
'Django.contrib.staticfiles',
]
13
rpstw

Peut-être que vous installez DRF pour python2, pas pour python3.

Vous pouvez utiliser python console pour vérifier votre module:

import rest_framework

En fait, vous utilisez pip pour installer le module, il installera le module python2.

Vous devriez installer le pip pour python3:

Sudo apt-get install python3-setuptools
Sudo easy_install3 pip

Donc, vous pouvez installer le module python3.

3
Burger King

Lorsque vous utilisez un environnement virtuel tel que virtualenv sans que Django-rest-framework soit installé globalement, vous pourriez aussi avoir l'erreur. La solution serait: 

  • activer d'abord l'environnement avec {{your environment name}}/bin/activate pour Linux ou {{your environment name}}/Scripts/activate pour Windows

  • puis exécutez à nouveau la commande.

1
Oleg G

Si vous travaillez avec PyCharm, j'ai constaté que le redémarrage du programme et la fermeture de toutes les invites après l'ajout de 'rest_framework' à mon INSTALLED_APPS fonctionnaient pour moi.

1
Anna M

Si vous utilisez un environnement virtuel, faites-le!

  1. Quittez votre environnement virtuel.

  2. Activez votre environnement virtuel.

Ceci fait, vous pouvez essayer d'exécuter à nouveau votre commande et cette fois, il n'y aura probablement pas d'ImportErrors.

0
O. Edholm

si vous avez utilisé pipenv :

si vous avez installé rest_framework via le nouveau pipenv , vous devez l'exécuter dans l'environnement virtuel:

1. pipenv Shell

2. (env) maintenant, lancez votre commande (par exemple, python manage.py runserver)

0
ggcarmi

essayez ceci si vous utilisez JWT pip install djangorestframework-jwt

0
Akshay Kumbhar

En outre, vérifiez la possibilité d'un minuscule typo :

C'est rest_framework avec un trait de soulignement (_) entre les deux!

Il m'a fallu un certain temps pour comprendre que j'utilisais plutôt un dash ... ????

0
martin-martin