Ich erhalte die folgende Fehlermeldung, wenn ich versuche, Django über die Befehlszeile auszuführen.
File manage.py, line 8, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
Irgendwelche Ideen, wie man das löst?
ENV PYTHONPATH="$PYTHONPATH:/usr/lib/python2.7/dist-packages:/usr/local/lib/python2.7/dist-packages"
aber die Django-App wird immer noch nicht geladen.Antworten:
Es hört sich so an, als hätten Sie Django nicht installiert. Sie sollten das von diesem Befehl erzeugte Verzeichnis überprüfen:
Um zu sehen, ob Sie die Django-Pakete dort haben.
Wenn sich in Site-Paketen kein Django-Ordner befindet, ist Django nicht installiert (zumindest für diese Python-Version).
Möglicherweise ist mehr als eine Python-Version installiert, und Django befindet sich in einer anderen Version. Sie können alle Versionen von Python herausfinden, wenn Sie tippen
python
und dann die Tabulatortaste drücken. Hier sind all die verschiedenen Pythons, die ich habe.Sie können den obigen Befehl für jede Python-Version ausführen und im Site-Packages-Verzeichnis der einzelnen Versionen nachsehen, ob in einem von ihnen Django installiert ist. Beispielsweise:
Wenn Sie Django in python2.6 finden, versuchen Sie es mit Ihrem ursprünglichen Befehl
quelle
hat den Trick für mich gemacht.
quelle
sudo pip install django --upgrade
, gab es einen neuen Fehler :No module named psycopg2
. Also rannte ichsudo pip install psycopg2 --upgrade
und es hat den Trick gemacht.sudo pip install --default-timeout=100 django --upgrade
und alles verlief reibungslos.pip install django --upgrade --user
Ich habe den gleichen Fehler erhalten und ihn auf folgende Weise behoben:
Ich musste meine virtuelle Umgebung mit dem folgenden Befehl aktivieren
quelle
Höchstwahrscheinlich
manage.py
beginnt in Ihrer ersten Zeile damit!/usr/bin/python
, dass Sie die globale Python des Systems anstelle der in Ihrer virtuellen Umgebung verwenden.also ersetzen
mit
und du solltest gut sein.
quelle
python startapp
musste ich es ändern/path/to/venv/bin/python startapp
und es funktionierte. Vielen Dank für den Hinweis!Nun, ich hatte heute den gleichen Fehler, nachdem ich virtualenv und django installiert hatte. Für mich war es so, dass ich sudo ( sudo pip install django ) für die Installation von django verwendet hatte und versuchte, den runserver manage.py ohne sudo auszuführen . Ich habe gerade sudo hinzugefügt und es hat funktioniert. :) :)
quelle
Verwenden Sie eine virtuelle Umgebung mit Virtual Wrapper? Bist du auf einem Mac?
Wenn ja, versuchen Sie Folgendes:
Geben Sie Folgendes in Ihre Befehlszeile ein, um die virtuelle Umgebung zu starten und dann daran zu arbeiten
1.)
oder
2.)
Hinweis (von einem Neuling) - Setzen Sie keine Klammern um Ihren Umgebungsnamen
quelle
Ich habe das gleiche Problem beim Ausführen des Befehls
Aber das Problem bei mir ist, dass ich diesen Befehl außerhalb der virtuellen Umgebung ausgeführt habe. Aktivieren Sie also zuerst Ihre virtuelle Umgebung und führen Sie den Befehl erneut aus.
quelle
python startapp
musste ich es ändern/path/to/venv/bin/python startapp
und es funktionierte.Dieses Problem tritt auf, wenn Django nicht auf Ihrem Computer installiert ist. Wenn django nicht installiert ist, bedeutet dies, dass das Modul django.core.management ebenfalls nicht installiert ist. Es hat dieses Modul also nicht gefunden und es gibt einen Fehler.
Um dieses Problem zu lösen, sollten wir django mit pip installieren. Öffnen Sie die Befehlszeile cmd (unter Windows) und geben Sie as ein
Dieser Befehl installiert Django auf Ihrem Computer. Wenn Sie Pip nicht installiert haben. Sie sollten pip installieren. Hier erfahren Sie, wie Sie pip unter Windows installieren
quelle
Ich erlebe das Gleiche und das ist was ich tue.
Zuerst meine Installation von
ist nicht in meiner aktiven Umgebung. Also habe ich meine Umgebung aktiviert und dann die wieder ausgeführt
quelle
Okay, so geht es:
Sie haben eine virtuelle Umgebung erstellt und das Django-Modul gehört nur zu dieser Umgebung. Da sich virtualenv von allem anderen isoliert, sehen Sie dies.
Gehen Sie dies durch, um weitere Unterstützung zu erhalten:
http://www.swegler.com/becky/blog/2011/08/27/python-django-mysql-on-windows-7-part-i-getting-started/
1.Sie können in das Verzeichnis wechseln, in dem Ihre virtuelle Umgebung gespeichert ist, und dann das Django-Modul ausführen.
2. Alternativ können Sie Django global auf Ihren Python-> Site-Paketen installieren, indem Sie entweder pip oder easy_install ausführen
Befehl mit pip: pip install django
dann mach das:
importiere django print (django.get_version ()) (abhängig davon, welche Version von Python du verwendest. Dies für Python 3+ Serien)
und dann können Sie Folgendes ausführen: python manage.py runserver und in Ihrem Webbrowser überprüfen, indem Sie Folgendes eingeben: localhost: 8000, und Sie sollten eine Seite mit Django-Unterstützung sehen.
Hoffe das hilft.
quelle
Falls dies für andere hilfreich ist ... Ich hatte dieses Problem, weil meine virtuelle Umgebung standardmäßig python2.7 war und ich Django mit Python3 aufrief, während ich Ubuntu verwendete.
um zu überprüfen, welche Python meine virtuelle Umgebung verwendet hat:
hat eine neue virtuelle Umgebung mit Python3 erstellt (unter Verwendung des virtuellen Entwickler-Wrappers https://virtualenvwrapper.readthedocs.org/en/latest/ ):
Der Python-Pfad sollte jetzt auf die virtuelle Python zeigen:
quelle
Dies passiert auch, wenn Sie die Verzeichnisstruktur Ihres Python-Projekts ändern (ich habe dies getan und dann über die Änderung des Verhaltens verwirrt). In diesem Fall müssen Sie eine Zeile in Ihrer Datei / bin / enabled ändern. Angenommen, Ihr Projekt war bei
und Ihre Aktivierungsdatei ist bei
Wenn Sie Ihr Projekt eingerichtet haben, haben Sie Ihr Projekt in geändert
oder so. Sie müssten dann öffnen
Finde die Zeile, in der es steht
und ändern Sie es in
vor der Reaktivierung
quelle
In meinem Fall verwende ich Ubuntu. Das Problem kann sein, dass ich als normaler Benutzer nicht die Berechtigung habe, in diesen Ordner zu schreiben. Sie können einfach das
sudo
vor Ihrem Befehl hinzufügen und es sollte perfekt funktionieren. In meinem Fallsudo python manage.py syncdb
.quelle
Ich hatte das gleiche Problem und der Grund, warum ich diese Nachricht erhielt, war, dass ich "manage.py runserver" ausgeführt habe, während "python manage.py runserver" das Problem behoben hat.
quelle
python3 manage.py runserver
. Andernfalls bleibt der Importfehler bestehen.Ich hatte das gleiche Problem und das Folgende hat gut funktioniert. Sie sollten im Hauptordner Ihres Projekts navigieren und dann Folgendes eingeben:
quelle
hatte den gleichen problem.run-Befehl 'python manage.py migrate' wie root. funktioniert gut mit Root-Zugriff (sudo python manage.py migrate)
quelle
In meinem Fall habe ich pyCharm 5 auf dem Mac verwendet. Ich hatte auch dieses Problem und nachdem ich diesen Befehl ausgeführt hatte, war mein Problem gelöst
quelle
Sie können es so versuchen:
python3 manage.py migrate
(machen Sie sur, um imsrc/
Verzeichnis zu sein)Sie können es auch mit versuchen
pip install -r requirements.txt
(stellen Sierequirements.txt
sicher, dass Sie die Datei sehen, wenn Sie eingebenls
nach der Migration eingebenWenn es doch immer noch nicht funktioniert, versuchen Sie es
pip install django
Ich hoffe es hilft
quelle
Sie müssen zuerst Ihr Projekt auswählen, bevor Sie den Server ausführen. Geben Sie dies
workon your_project_name
dann einpython manage.py runserver
quelle
Der Konflikt zwischen Datei- und Verzeichnisbesitz führt hier zu Problemen. Stellen Sie sicher, dass der aktuelle Benutzer Eigentümer der Verzeichnisse und Dateien unter dem Projekt ist. (Sie können sie mit dem Befehl chown mit der Option -R ändern.) Versuchen Sie, den Befehl erneut auszuführen: Dies löste das Problem für mich, als ich das Beispiel "Erste Django-App" durchlief:
quelle
Ich habe das gleiche Problem beim Versuch, den Runnerver python manage.py zu verwenden . In meinem Fall benutze ich nur sudo su . Verwenden Sie das Terminal als Root und versuchen Sie es erneut, und es funktioniert teilweise. Also benutze ich python manage.py migrate comand und es behebt es.
quelle