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?
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
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',
]
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.
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.
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.
Si vous utilisez un environnement virtuel, faites-le!
Quittez votre environnement virtuel.
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.
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)
essayez ceci si vous utilisez JWT pip install djangorestframework-jwt
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 ... ????