Je suis le tutoriel Django https://docs.djangoproject.com/es/1.10/intro/tutorial01/
J'ai créé un projet factice "mysite" (mon tout premier) et j'ai essayé de le tester sans le modifier.
django-admin startproject mysite
cd mysite
python manage.py runserver
File "manage.py", line 14
) from exc
^
SyntaxError: invalid syntax
J'obtiens une SyntaxError sur un fichier qui a été généré par le système lui-même. Et je semble incapable de trouver quelqu'un d'autre qui a traversé le même problème.
J'ajouterai quelques données de ma configuration au cas où cela pourrait être utile
$ 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
Quelqu'un peut-il m'aider s'il vous plaît?
Mise à jour: ajout du contenu de manage.py généré automatiquement
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
Franc
la source
la source
Réponses:
Assurez-vous à quelle version de python vous connectez le django (assurez-vous d'activer l' environnement virtuel si vous en utilisez).
Lorsque vous installez django en utilisant uniquement
alors tu dois courir
sinon si vous avez utilisé:
alors tu dois courir
Référer:
la source
python manage.py migrate
et le modifier pourpython3 manage.py migrate
corriger l'erreur.Vous pouvez essayer avec
python3 manage.py runserver
. Ça marche pour moi.la source
vous devez activer votre environnement virtuel. Dans le terminal -> source env / bin / activate maintenant, il y aura ----> (env) dans votre terminal affiché!
maintenant cela fonctionnera -> runserver.
Pas besoin de supprimer la partie exc!
la source
Je vivais la même chose mais cela a été résolu en exécutant avec python 3.6 spécifique comme ci-dessous:
la source
C'est une solution simple en fait celle que je viens de rencontrer. Avez-vous activé votre environnement virtuel?
capture d'écran de mon terminal
la source
Activez simplement votre environnement virtuel.
la source
Il est préférable de créer un environnement virtuel et d'exécuter votre code Django dans cet environnement virtuel, cela aide à ne pas modifier vos environnements existants. Voici les étapes de base pour démarrer avec l'environnement virtuel et Django.
Créez un nouveau répertoire et insérez-y un cd.
mkdir test
,cd test
Installez et créez un environnement virtuel.
python3 -m pip install virtualenv virtualenv venv -p python3
Activez l'environnement virtuel:
source venv/bin/activate
Installez Django:
pip install django
Démarrez un nouveau projet:
django-admin startproject myproject
cd à votre projet et exécutez le projet:
cd myproject
,python manage.py runserver
Vous pouvez voir votre projet ici:
http://127.0.0.1:8000/
la source
django3
leactivate
se trouve dans le.\venv\Script
dossierAprès avoir testé avec des instructions précises (en utilisant python2 ou python3 au lieu de simplement "python"), j'ai constaté que peu importe ce que dit le tutoriel, cela fonctionne UNIQUEMENT avec python3.
la source
Pour exécuter Python version 3, vous devez utiliser à la
python3
place depython
.Ainsi, la commande finale sera:
la source
La solution est simple. l'exception de manage.py est due au fait que lors de l'exécution de la commande avec python, Django est incapable de prédire la version exacte de python, disons que vous pouvez avoir 3.6, 3.5, 3.8 et peut-être qu'une seule de ces versions le module pip a été utilisé pour installer Django pour résoudre ceci soit utiliser:
ou en utilisant la version exacte de python (xx) signifie:
sinon l'utilisation d'environnements virtuels peut être utile car elle relie facilement n'importe quel module pip django à la version python
la source
Vous devez activer l'environnement virtuel dans lequel vous avez installé django. Ensuite, exécutez cette commande - python manage.py runserver
la source
J'ai résolu la même situation.
VERSION INSTALLÉE
python 3.6, django 2.1
SITUATION
J'ai installé Node.js dans Windows 10. Après avoir
python manage.py runserver
causé une erreur.ERREUR
RAISON
Mon chemin python a été changé en python-2.7 à partir de python-3.6. (3.6 est correct sur mon PC.)
SOLUTION
Correction du chemin python.
la source
J'ai eu exactement la même erreur, mais j'ai découvert plus tard que j'avais oublié d'activer l'environnement conda sur lequel django et d'autres packages requis étaient installés.
Solution: créez un conda ou un environnement virtuel avec django installé et activez-le avant d'utiliser la commande:
$ python manage.py migrate
la source
Le django-admin peut-être le mauvais fichier. J'ai rencontré le même problème que je n'ai pas trouvé sur un autre ordinateur le même flux de configuration.
Après avoir comparé deux projets, j'ai trouvé plusieurs différences sur manage.py et settings.py, puis j'ai réalisé que j'avais créé un projet django 2.0 mais que je l'exécutais avec python2.
courir
which django-admin
dans itermIl semble que j'ai un django-admin en python3 dont je ne savais pas pourquoi, j'ai donc essayé d'obtenir le bon django-amin.
alors j'ai eu
Dans
/Library/Python/2.7/site-packages
, j'ai trouvé le django-adminJ'ai donc recréé le projet par
puis courir
réussi🎉
la source
Nous devons créer un environnement virtuel à l'intérieur du projet, pas à l'extérieur du projet .. Ensuite, cela résoudra.
la source
Il semble que vous ayez plus d'une version de Python sur votre ordinateur. Essayez d'en supprimer un et laissez la seule version que vous avez utilisée pour développer votre application.
Si besoin est, vous pouvez mettre à jour votre version, mais assurez-vous de n'avoir qu'une seule version de Python sur votre ordinateur.
J'espère que ça aide.
la source
J'ai atterri sur la même exception exacte car j'ai oublié d'activer l'environnement virtuel.
la source
Les raisons suivantes pourraient être les raisons possibles,
Pour créer un environnement virtuel
Pour activer l'environnement virtuel
la source
J'obtenais également la même erreur.
Ensuite, je suis retourné dans le dossier où se trouve le dossier d'environnement et j'ai oublié d'activer un environnement virtuel, donc je n'obtenais que cette erreur.
Accédez à ce dossier et activez l'environnement virtuel.
la source
De plus, le tutoriel recommande d'utiliser un environnement virtuel (voir la documentation Django: https://docs.djangoproject.com/en/2.0/topics/install/#installing-official-release "). Vous pouvez le faire avec
pipenv --three
. Once vous avez installé django avecpipenv install django
et activé votre environnement virtuel avecpipenv shell
, python fera référence à python3 lors de l'exécutionpython manage.py runserver
.Documentation Pipenv: https://pipenv.kennethreitz.org/
la source
Ce que je me demande, c'est que si le django est installé dans le conteneur, il peut ne pas être dans la machine hôte sur laquelle vous exécutez la commande. Alors comment la commande s'exécutera. Donc, depuis aucune solution ci-dessus n'a fonctionné pour moi.
J'ai découvert le conteneur en cours d'exécution et suis entré dans le conteneur en cours d'exécution en utilisant,
docker exec -it <container> bash
puis j'ai exécuté la commande à l'intérieur du conteneur docker. Comme nous avons le conteneur volumé, les modifications apportées seront également reflétées localement. Quelle que soit la commande à exécuter, elle peut être exécutée dans le conteneur en cours d'exécutionla source
Pour les futurs lecteurs, j'ai moi aussi eu le même problème. Il s'avère que l'installation de Python directement à partir du site Web ainsi qu'une autre version d'Anaconda ont causé ce problème. J'ai dû désinstaller Python2.7 et ne garder anaconda que comme seule distribution.
la source
Êtes-vous entré dans l'environnement virtuel de django? Exécutez
python -m venv myvenv
si vous ne l'avez pas encore installé.la source
Faites simplement:
pipenv shell
puis répétez:
python manage.py runserver
et ne supprimez pas
from exc
comme suggéré ci-dessus.à votre santé!
la source
J'ai eu le même problème et j'ai pu le résoudre. Il est lié à la version de Django que vous avez installée, certains d'entre eux ne sont pas pris en charge par python 2.7. Si vous avez installé Django avec pip, cela signifie que vous installez la dernière version de ce qui n'est probablement pas pris en charge dans python 2.7, vous pouvez obtenir plus d'informations à ce sujet ici . Je suggérerais de python 3 ou de spécifier la version de Django lors de l'installation (qui est 1.11 pour python 2.7).
la source
J'ai résolu ce problème pour désinstaller la version multiple de Python. Consultez la documentation officielle de Django pour la compatibilité avec Python.
" Compatibilité Python
Django 2.1 prend en charge Python 3.5, 3.6 et 3.7. Django 2.0 est la dernière version à prendre en charge Python 3.4. "
fichier manage.py
Si la suppression de "from exc" de l'avant-dernière ligne de ce code générera une autre erreur en raison de plusieurs versions de Python.
la source
activer env par la commande suivante
puis exécutez la commande
la source
Vous devez démarrer votre environnement virtuel ,
comment faire?
d'abord avec le terminal cd dans le répertoire contenant manage.py
puis tapez
$source <myvenv>/bin/activate
remplacer par le nom de votre environnement virtuel, sans crochets angulaires.Un autre problème peut que votre répertoire racine et venv ne correspondent pas. La structure devrait être quelque chose comme ceci:
C'est votre environnement virtuel et manage.py doit se trouver dans le même dossier. La solution à cela est de redémarrer le projet. Si vous rencontrez cette erreur, vous ne devez encore rien coder, alors redémarrez.
la source
J'ai également résolu mon problème lorsque j'ai activé mon environnement virtuel en utilisant:
la source
J'ai eu ce problème (Mac) et j'ai suivi les instructions de la page ci-dessous pour installer et activer l'environnement virtuel
https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/
Une fois que j'ai installé et activé l'environnement virtuel, je l'ai vérifié
Ensuite, j'ai installé django dans l'environnement virtuel
Et puis je pourrais exécuter mon application
Quand je suis arrivé à la partie suivante du tutoriel
J'ai rencontré une autre erreur:
j'ai enlevé
et il a ensuite créé le répertoire des sondages
la source