Ich folge dem Django-Tutorial https://docs.djangoproject.com/es/1.10/intro/tutorial01/
Ich habe ein "mysite" -Dummy-Projekt erstellt (mein erstes) und versuche, es zu testen, ohne es zu ändern.
django-admin startproject mysite
cd mysite
python manage.py runserver
File "manage.py", line 14
) from exc
^
SyntaxError: invalid syntax
Ich erhalte einen SyntaxError für eine Datei, die vom System selbst generiert wurde. Und ich scheine nicht in der Lage zu sein, jemanden zu finden, der das gleiche Problem durchgemacht hat.
Ich werde einige Daten meines Setups hinzufügen, falls es von Nutzen sein könnte
$ vpython --version
Python 2.7.12
$ pip --version
pip 9.0.1 from /home/frank/.local/lib/python2.7/site-packages (python 2.7)
$ python -m django --version
1.10.6
Kann mir bitte jemand helfen?
Update: Hinzufügen von Inhalten von autogenerated manage.py
cat manage.py
#!/usr/bin/env python3
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
python
syntax-error
Frank
quelle
quelle
Antworten:
Stellen Sie sicher, mit welcher Python-Version Sie den Django verbinden (Aktivieren Sie die virtuelle Umgebung, wenn Sie eine verwenden).
Wenn Sie Django mit nur installieren
dann musst du rennen
sonst wenn du benutzt hast:
dann musst du rennen
Verweisen:
quelle
python manage.py migrate
und änderte es, umpython3 manage.py migrate
den Fehler zu beheben .Sie können mit versuchen
python3 manage.py runserver
. Für mich geht das.quelle
Sie sollten Ihre virtuelle Umgebung aktivieren. In Terminal -> Quelle env / bin / enable wird jetzt ----> (env) in Ihrem Terminal angezeigt!
jetzt wird es funktionieren -> runserver.
Exc-Teil muss nicht gelöscht werden!
quelle
Ich habe das gleiche erlebt, aber dies wurde gelöst, indem ich mit spezifischem Python 3.6 wie folgt lief:
quelle
Aktivieren Sie einfach Ihre virtuelle Umgebung.
quelle
Es ist eine einfache Lösung, auf die ich gerade gestoßen bin. Haben Sie Ihre virtuelle Umgebung aktiviert?
Mein Terminal Screenshot
quelle
Es ist am besten, eine virtuelle Umgebung zu erstellen und Ihren Django-Code in dieser virtuellen Umgebung auszuführen. Dies hilft dabei, Ihre vorhandenen Umgebungen nicht zu ändern. Hier sind die grundlegenden Schritte, um mit der virtuellen Umgebung und Django zu beginnen.
Erstellen Sie ein neues Verzeichnis und legen Sie eine CD hinein.
mkdir test
,cd test
Installieren und Erstellen einer virtuellen Umgebung.
python3 -m pip install virtualenv virtualenv venv -p python3
Virtuelle Umgebung aktivieren:
source venv/bin/activate
Installieren Sie Django:
pip install django
Starten Sie ein neues Projekt:
django-admin startproject myproject
CD zu Ihrem Projekt und Projekt ausführen:
cd myproject
,python manage.py runserver
Sie können Ihr Projekt hier sehen:
http://127.0.0.1:8000/
quelle
django3
deractivate
befindet sich im.\venv\Script
OrdnerNach dem Testen mit genauen Anweisungen (mit Python2 oder Python3 anstelle von "Python") habe ich festgestellt, dass dies NUR mit Python3 funktioniert, unabhängig davon, was im Tutorial steht.
quelle
Zum Ausführen von Python Version 3 müssen Sie
python3
stattdessen verwendenpython
.Der letzte Befehl lautet also:
quelle
Die Lösung ist unkompliziert. Die Ausnahme von manage.py besteht darin, dass Django beim Ausführen des Befehls mit Python nicht in der Lage ist, die genaue Python-Version vorherzusagen. Angenommen, Sie haben 3.6, 3.5, 3.8 und möglicherweise wurde nur eines dieser Versionen des Pip-Moduls verwendet, um Django zum Auflösen zu installieren dies entweder verwenden:
oder mit der genauen Python-Version (xx) steht:
Andernfalls kann die Verwendung virtueller Umgebungen nützlich sein, da jedes Pip-Django-Modul problemlos mit der Python-Version verknüpft werden kann
quelle
Sie müssen die virtuelle Umgebung aktivieren, in der Sie django installiert haben. Führen Sie dann diesen Befehl aus - python manage.py runserver
quelle
Ich habe die gleiche Situation gelöst.
INSTALLIERTE VERSION
Python 3.6, Django 2.1
LAGE
Ich habe Node.js in Windows 10 installiert. Nach
python manage.py runserver
verursachtem Fehler.ERROR
GRUND
Mein Python-Pfad wurde von Python-3.6 in Python-2.7 geändert. (3.6 ist in meinem PC korrekt.)
LÖSUNG
Python-Pfad korrigieren.
quelle
Ich hatte genau den gleichen Fehler, aber später stellte ich fest, dass ich vergessen hatte, die Conda-Umgebung zu aktivieren, in der Django und andere erforderliche Pakete installiert waren.
Lösung: Erstellen Sie eine Conda oder virtuelle Umgebung mit installiertem Django und aktivieren Sie sie, bevor Sie den folgenden Befehl verwenden:
$ python manage.py migrate
quelle
Der Django-Administrator hat möglicherweise die falsche Datei. Ich habe das gleiche Problem festgestellt, das ich auf einem anderen Computer nicht im gleichen Einrichtungsablauf gefunden habe.
Nachdem ich zwei Projekte verglichen hatte, stellte ich bei manage.py und settings.py verschiedene Unterschiede fest. Dann wurde mir klar, dass ich ein 2.0-Django-Projekt erstellt und es mit python2 ausgeführt habe.
which django-admin
in iterm laufenEs sieht so aus, als hätte ich einen Django-Admin in Python3, von dem ich nicht wusste warum. Also habe ich versucht, das richtige Django-Amin zu bekommen.
dann habe ich
In
/Library/Python/2.7/site-packages
fand ich den Django-AdminAlso habe ich wieder ein Projekt von erstellt
dann renne
erfolgreich🎉
quelle
Wir müssen eine virtuelle Umgebung innerhalb des Projekts erstellen, nicht außerhalb des Projekts. Dann wird es gelöst.
quelle
Es scheint, dass Sie mehr als eine Version von Python auf Ihrem Computer haben. Versuchen Sie, eine zu entfernen, und belassen Sie die einzige Version, mit der Sie Ihre Anwendung entwickelt haben.
Bei Bedarf können Sie Ihre Version aktualisieren, stellen Sie jedoch sicher, dass auf Ihrem Computer nur eine Python-Version vorhanden ist.
Ich hoffe das hilft.
quelle
Ich bin genau auf die gleiche Ausnahme gestoßen, weil ich vergessen habe, die virtuelle Umgebung zu aktivieren.
quelle
Folgendes könnte die möglichen Gründe sein:
Virtuelle Umgebung erstellen
So aktivieren Sie die virtuelle Umgebung
quelle
Ich habe auch den gleichen Fehler bekommen.
Dann ging ich zurück zu dem Ordner, in dem sich der Umgebungsordner befindet, und vergaß, eine virtuelle Umgebung zu aktivieren, sodass nur ich diesen Fehler erhielt.
Gehen Sie zu diesem Ordner und aktivieren Sie die virtuelle Umgebung.
quelle
Außerdem wird im Lernprogramm empfohlen, eine virtuelle Umgebung zu verwenden (siehe Django-Dokumentation: https://docs.djangoproject.com/de/2.0/topics/install/#installing-official-release "). Sie können dies mit
pipenv --three
. Einmal tun Wenn Sie Django mit installiertpipenv install django
und Ihre virtuelle Umgebung mit aktiviert habenpipenv shell
, verweist Python bei der Ausführung auf Python3python manage.py runserver
.Pipenv-Dokumentation: https://pipenv.kennethreitz.org/
quelle
Ich frage mich, ob der Django zwar auf dem Container installiert ist, sich aber möglicherweise nicht auf dem Host-Computer befindet, auf dem Sie den Befehl ausführen. Wie wird dann der Befehl ausgeführt? Da funktionierten keine der oben genannten Lösungen für mich.
Ich fand den laufenden Container heraus und stieg in den laufenden Container ein, indem ich
docker exec -it <container> bash
den Befehl im Docker-Container ausführte. Da wir den voluminösen Container haben, werden die vorgenommenen Änderungen auch lokal wiedergegeben. Jeder Befehl, der ausgeführt werden soll, kann im laufenden Container ausgeführt werdenquelle
Für zukünftige Leser hatte auch ich das gleiche Problem. Es stellte sich heraus, dass die Installation von Python direkt von der Website sowie eine andere Version von Anaconda dieses Problem verursacht haben. Ich musste Python2.7 deinstallieren und nur Anaconda als einzige Distribution behalten.
quelle
Haben Sie die virtuelle Umgebung für Django betreten? Führen
python -m venv myvenv
Sie aus, wenn Sie noch nicht installiert haben.quelle
Mach einfach:
pipenv shell
dann wiederhole:
python manage.py runserver
und nicht
from exc
wie oben vorgeschlagen löschen .Prost!
quelle
Ich hatte das gleiche Problem und konnte es lösen. Es bezieht sich auf die von Ihnen installierte Version von Django. Einige davon werden von Python 2.7 nicht unterstützt. Wenn Sie Django mit pip installiert haben, bedeutet dies, dass Sie die neueste Version von dem installieren, was in Python 2.7 wahrscheinlich nicht unterstützt wird. Weitere Informationen dazu erhalten Sie hier . Ich würde empfehlen, Python 3 zu verwenden oder die Version von Django während der Installation anzugeben (dies ist 1.11 für Python 2.7).
quelle
Ich habe dieses Problem gelöst, um die Mehrfachversion von Python zu deinstallieren. Überprüfen Sie die offizielle Django-Dokumentation auf Python-Kompatibilität.
" Python-Kompatibilität
Django 2.1 unterstützt Python 3.5, 3.6 und 3.7. Django 2.0 ist die letzte Version, die Python 3.4 unterstützt. "
manage.py Datei
Wenn Sie "aus exc" aus der vorletzten Zeile dieses Codes entfernen, wird aufgrund mehrerer Python-Versionen ein weiterer Fehler generiert.
quelle
Aktivieren Sie env mit dem folgenden Befehl
Führen Sie dann den Befehl aus
quelle
Sie sollten Ihre virtuelle Umgebung starten .
wie es geht?
zuerst mit Terminal-CD in das Verzeichnis mit manage.py
$source <myvenv>/bin/activate
Geben Sie dann replace mit Ihrem Namen für die virtuelle Umgebung ohne eckige Klammern ein.Ein weiteres Problem kann sein, dass Ihr Stammverzeichnis und venv nicht übereinstimmen. Die Struktur sollte ungefähr so aussehen:
Das ist Ihre virtuelle Umgebung und manage.py sollte sich im selben Ordner befinden. Die Lösung besteht darin, das Projekt neu zu starten. Wenn dieser Fehler auftritt, müssen Sie noch nichts codiert haben. Starten Sie ihn daher neu.
quelle
Ich habe mein Problem auch gelöst, als ich meine virtuelle Umgebung aktiviert habe mit:
quelle
Ich hatte dieses Problem (Mac) und befolgte die Anweisungen auf der folgenden Seite, um die virtuelle Umgebung zu installieren und zu aktivieren
https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/
Nachdem ich die virtuelle Umgebung installiert und aktiviert hatte, überprüfte ich sie
Dann habe ich django in die virtuelle Umgebung installiert
Und dann könnte ich meine App ausführen
Als ich zum nächsten Teil des Tutorials kam
Ich habe einen anderen Fehler festgestellt:
Ich entfernte
und es erstellte dann das Umfrageverzeichnis
quelle