Django Rest Framework - kein Modul namens rest_framework

74

Ich habe das Django Rest Framework mit installiert und erhalte pip install djangorestframeworkdennoch diesen Fehler, wenn ich "python3 manage.py sycndb" ausführe:

ImportError: Kein Modul mit dem Namen 'rest_framework'

Ich benutze Python3. Ist das mein Problem?

Versuche zu lernen
quelle
Hast du in installiert settings.py?
Burger King
@BurgerKing Ich habe meinen installierten Apps rest_framework hinzugefügt. Ist es das, was du meintest?
versuchen,
Verwenden Sie eine virtuelle Umgebung?
Vingtoft
Ich versuche nur, die Vernunft zu erraten. Können Sie Ihre Fehlermeldung geben?
Burger King
@ Vingtoft bin ich nicht. Ich habe dieses Tutorial verfolgt: youtube.com/watch?v=VZ8NIoLN-yQ bei der 5-Minuten-Marke.
versuchen,

Antworten:

124

Sie müssen das Django Rest Framework mit pip3 (pip für Python 3) installieren:

pip3 install djangorestframework

Anweisungen zur Installation von pip3 finden Sie hier

Vingtoft
quelle
Ich bin nicht sicher warum, aber ich stehe immer noch vor dem gleichen Problem
Rammanoj
Dies löst mein Problem. In meinem Fall habe ich getan codepip installieren djangorestframework codein der Windows Powershell
snowblindzz
40

Wenn Sie vergessen ,, wird dies passieren, es ist komisch

falsches Beispiel: brauche a ,

INSTALLED_APPS = [
'rest_framework'
'django.contrib.contenttypes',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
rpstw
quelle
3
Ich bin froh, dass ich nach unten gescrollt habe, um DRF neu zu installieren. Das hat es für mich gelöst.
Drew S
9

Überprüfen Sie auch die Möglichkeit eines winzigen Tippfehlers :

Es ist rest_frameworkmit einem Unterstrich ( _) dazwischen!

Ich habe eine Weile gebraucht, um herauszufinden, dass ich stattdessen einen Bindestrich verwendet habe ... 😅

Martin-Martin
quelle
Ich stimme so einer hinterhältigen Sache zu.
Abhinav1singhal
3

Möglicherweise installieren Sie DRF für Python2, nicht für Python3.

Sie können python consoledamit Ihr Modul überprüfen:

import rest_framework

Tatsächlich verwenden Sie pipzum Installieren des Moduls das Python2-Modul.

Sie sollten den Pip für Python3 installieren:

sudo apt-get install python3-setuptools
sudo easy_install3 pip

Sie können also das Python3-Modul installieren.

Burger King
quelle
Ich verstehe was du meinst. Ich erhalte die Fehlermeldung "apt-get: Befehl nicht gefunden", wenn ich versuche, Ihren Befehl auszuführen.
versuchen,
2

Wenn Sie eine virtuelle Umgebung verwenden, tun Sie dies!

  1. Beenden Sie Ihre virtuelle Umgebung.

  2. Aktivieren Sie Ihre virtuelle Umgebung.

Nachdem Sie dies getan haben, können Sie versuchen, Ihren Befehl erneut auszuführen. Dieses Mal hat er wahrscheinlich keine ImportErrors.

O. Edholm
quelle
2

Wenn Sie mit PyCharm arbeiten, habe ich festgestellt, dass das Neustarten des Programms und das Schließen aller Eingabeaufforderungen nach dem Hinzufügen von 'rest_framework' zu meiner INSTALLED_APPSArbeit für mich funktioniert hat.

Anna M.
quelle
Dies löste es für mich und es war VS-Code. Versuchen Sie es also vielleicht zuerst, wenn Sie einem Tutorial folgen
Joe Meyer,
2

Ja, für mich war es auch die Python-Version ...
viel besser, um pipenv zu verwenden ...
erstellen Sie eine virtuelle Umgebung mit Python 3 ...

install pipenv: pip3 install pipenv
Erstelle pipenv --python 3
die virtuelle Umgebung: aktiviere die virtuelle Umgebung:pipenv shell

Villageek
quelle
1

Wenn Sie eine virtuelle Umgebung verwenden, virtualenvohne dass das Django-Rest-Framework global installiert ist, kann der Fehler genauso gut auftreten. Die Lösung wäre:

  • Aktivieren Sie die Umgebung zuerst mit {{your environment name}}/bin/activatefür Linux oder {{your environment name}}/Scripts/activatefür Windows

  • Führen Sie den Befehl erneut aus.

Oleg G.
quelle
1

Wenn Sie pipenv verwendet haben :

Wenn Sie rest_framework über das neue pipenv installiert haben , müssen Sie es über die virtuelle Umgebung ausführen:

1. Pipenv Shell

2. (env) Führen Sie jetzt Ihren Befehl aus (z. B. python manage.py runserver).

ggcarmi
quelle
1

Die erste globale Installation des Frameworks auf dem System löste mein Problem.

machine@debian:/$ sudo pip install djangorestframework
or;
root@debian:/# pip install djangorestframework
7guyo
quelle
0

Versuchen Sie dies, wenn Sie JWT verwenden pip install djangorestframework-jwt

Akshay Kumbhar
quelle
0

In meinem Fall war mein Problem anders. Ich habe in meinem bash_profile einen Alias ​​erstellt wie:

alias python=/usr/local/bin/python3

Und selbst wenn ich meine Umgebung aktiviere, war der Python-Interpreter beim Ausführen des Befehls vom System und nicht von meiner Umgebung aus verfügbar.

Ich habe gerade den Alias ​​aus bash_profile entfernt und es hat gut funktioniert.

DevSR
quelle
Gute Arbeit an Ihrer ersten Antwort, aber stellen Sie sicher, dass Sie den Code richtig formatieren. stackoverflow.com/editing-help .
Nzajt
0

(Ich würde annehmen, dass Leute, die Container benutzen, wissen, was sie tun, aber hier sind meine zwei Cent)

Angenommen, Sie richten Ihr Projekt mit cookiecutter-django ein und aktivieren die Docker-Container-Unterstützung. Aktualisieren Sie die Pip-Anforderungsdatei mit djangorestframework==<x.yy.z>(oder der Python-Abhängigkeit, die Sie installieren möchten) und erstellen Sie die Docker-Images neu (lokal und produktiv). .

gmagno
quelle
0

Ich hatte das gleiche Problem, befolgte diese Anweisungen und es funktionierte für mich:

  1. python -m pip install --upgrade pip (um pip zu aktualisieren)
  2. pip3 install djangorestframework
  3. rest_frameworkAls erste App hinzugefügt :

    INSTALLED_APPS = [
        'rest_framework',
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        #apps
        'apps.endpoints',
    ]
    
Nour elhouda Khettache
quelle
0

Ich weiß, dass es eine akzeptierte Antwort auf diese Frage und viele andere Antworten gibt, aber ich wollte nur einen weiteren Fall hinzufügen, der bei mir passiert ist: Aktualisieren Sie das Django- und Django-Rest-Framework auf die neuesten Versionen, damit sie fehlerfrei funktionieren.

Alles, was Sie tun müssen, ist, sowohl das Django als auch das Django Rest Framework zu deinstallieren.

pip uninstall django pip uninstall djangorestframework

und installieren Sie es dann erneut mit:

pip install django pip install djangorestframework

Prateek Gupta
quelle
0

Ich habe kürzlich die neuesten Bibliotheken für Django 3.1 und Django Rest Framework 3.11.1 installiert, um schließlich festzustellen, dass Django 3.1 ab dem 11. April 2020 von DRF nicht unterstützt wird. Ich wusste nicht, dass die genau genannten Releases verwendet werden müssen.

Wenn Sie sich die Haare aus dem Kopf ziehen, weil Sie nicht verstehen können, warum DRF nicht importiert, überprüfen Sie diese Anforderungen und stellen Sie sicher, dass Ihre App kompatibel ist.

Josh
quelle
0
INSTALLED_APPS = [
'rest_framework',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#apps
'apps.endpoints',

]]

Vielleicht haben Sie das Komma "" vergessen, oder beim Einfügen des Verpackungsnamens wird möglicherweise ein zusätzliches Leerzeichen "Paketname" überprüft

Usama Kaleem
quelle
0

In meinem Fall hatte ich es in der virtuellen Umgebung installiert, aber vergessen, die virtuelle Umgebung zu aktivieren, während ich den Befehl ausführte

 python3 manage.py makemigrations 

In meinem Fall musste ich also nur die Umgebung aktivieren und dann den Befehl ausführen

source [virtualenv folder-name]/bin/activate
python3 manage.py makemigrations

Dies löste mein Problem.

Shweta Sharma
quelle
-1

Unter Windows musste ich mit PowerShell die Konsole schließen und erneut öffnen und dann die virtuelle Umgebung reaktivieren.

Jacob Heruty
quelle
-1

Gehen Sie wie folgt vor, um es zu installieren:

pip install djangorestframework
pip install markdown     
pip install django-filter

Wir müssen nach einigen häufigen Fehlern suchen:

  1. Überprüfen Sie das Komma bei den installierten Listenelementen

  2. Tippfehler

VijayGupta
quelle
-2

rest_framework Modul

Drücken Sie das angegebene Symbol, wenn folgende Fehlermeldung angezeigt wird:

"ModuleNotFoundError: Kein Modul mit dem Namen 'rest_framework'"

Sie werden aufgefordert, das angegebene Paket zu importieren, dh rest_frameworkden Code erneut auszuführen.

Dies funktionierte für mich und versuchte für ein paar Tage, diesen Fehler zu beheben.

Vikhyath Rai
quelle
1
Nicht jeder verwendet denselben Editor, und nicht alle Editoren bieten dieselbe Funktion zum Importieren von Modulen über die Glühbirne.
Ulmas