Estoy siguiendo el tutorial de Django https://docs.djangoproject.com/es/1.10/intro/tutorial01/
He creado un proyecto ficticio "mysite" (el primero) y trato de probarlo sin alterarlo.
django-admin startproject mysite
cd mysite
python manage.py runserver
File "manage.py", line 14
) from exc
^
SyntaxError: invalid syntax
Recibo un SyntaxError en un archivo que fue generado por el propio sistema. Y parece que no puedo encontrar a nadie más que haya pasado por el mismo problema.
Agregaré algunos datos de mi configuración en caso de que pueda ser de utilidad
$ 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
¿Alguien puede ayudarme?
Actualización: agregando contenido de manage.py autogenerado
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
Franco
fuente
fuente
Respuestas:
Asegúrese de con qué versión de Python conecta el django (asegúrese de activar el entorno virtual si está usando alguno).
Cuando instalas django usando solo
entonces tienes que correr
más si ha usado:
entonces tienes que correr
Referir:
fuente
python manage.py migrate
y lo cambió parapython3 manage.py migrate
solucionar el error.Puedes probar con
python3 manage.py runserver
. Esto funciona para mi.fuente
debe activar su entorno virtual. En la terminal -> source env / bin / enable ahora se mostrará ----> (env) en su terminal.
ahora funcionará -> runserver.
¡No es necesario eliminar la parte exc!
fuente
Estaba experimentando lo mismo, pero esto se resolvió ejecutando con Python 3.6 específico como se muestra a continuación:
fuente
Simplemente active su entorno virtual.
fuente
Es una solución simple en realidad una que acabo de encontrar. ¿Activó su entorno virtual?
captura de pantalla de mi terminal
fuente
Es mejor crear un entorno virtual y ejecutar su código Django dentro de este entorno virtual, esto ayuda a no cambiar sus entornos existentes. Estos son los pasos básicos para comenzar con el entorno virtual y Django.
Cree un nuevo directorio y acceda a él.
mkdir test
,cd test
Instale y cree un entorno virtual.
python3 -m pip install virtualenv virtualenv venv -p python3
Activar entorno virtual:
source venv/bin/activate
Instale Django:
pip install django
Inicie un nuevo proyecto:
django-admin startproject myproject
cd a su proyecto y Ejecutar Proyecto:
cd myproject
,python manage.py runserver
Puedes ver tu proyecto aquí:
http://127.0.0.1:8000/
fuente
django3
elactivate
se encuentra en la.\venv\Script
carpetaDespués de probar con instrucciones precisas (usando python2 o python3 en lugar de solo "python"), he constatado que no importa lo que diga el tutorial, esto funciona SOLO con python3.
fuente
Para ejecutar Python versión 3, debe usar en
python3
lugar depython
.Entonces, el comando final será:
fuente
La solución es sencilla. la excepción de manage.py es porque cuando ejecuta el comando con Python, Django no puede predecir la versión exacta de Python, digamos que puede tener 3.6, 3.5, 3.8 y tal vez solo una de estas versiones del módulo pip se usó para instalar Django para resolver esto o use:
o usando la versión exacta de Python (xx) se encuentra:
de lo contrario, el uso de entornos virtuales puede ser útil porque relaciona fácilmente cualquier módulo pip django con la versión de python
fuente
Debes activar el entorno virtual donde tienes instalado django. Luego ejecute este comando: python manage.py runserver
fuente
Resolví la misma situación.
VERSIÓN INSTALADA
Python 3.6, django 2.1
SITUACIÓN
Instalé Node.js en Windows 10. Después de
python manage.py runserver
causar un error.ERROR
RAZÓN
Mi ruta de Python cambió a python-2.7 de python-3.6. (3.6 es correcto en mi PC).
SOLUCIÓN
Corregir la ruta de Python.
fuente
Tuve exactamente el mismo error, pero luego descubrí que olvidé activar el entorno conda que tenía django y otros paquetes requeridos instalados.
Solución: cree una conda o un entorno virtual con django instalado y actívelo antes de usar el comando:
$ python manage.py migrate
fuente
El django-admin tal vez sea el archivo incorrecto. Me encontré con el mismo problema que no encontré en una computadora diferente, el mismo flujo de configuración.
Después de comparar dos proyectos, encontré varias diferencias en manage.py y settings.py, luego me di cuenta de que creé el proyecto 2.0 django pero lo ejecuté con python2.
ejecutar
which django-admin
en itermParece que tengo un django-admin en python3 y no sabía por qué, así que intenté obtener el django-amin correcto.
entonces tengo
En
/Library/Python/2.7/site-packages
, encontré el django-adminAsí que creé el proyecto de nuevo por
entonces corre
tuvo éxito
fuente
Tenemos que crear un entorno virtual dentro del proyecto, no fuera del proyecto .. Entonces se resolverá ..
fuente
Parece que tienes más de una versión de Python en tu computadora. Pruebe y elimine uno y deje la única versión que utilizó para desarrollar su aplicación.
Si es necesario, puede actualizar su versión, pero asegúrese de tener solo una versión de Python en su computadora.
Espero que esto ayude.
fuente
Aterricé en la misma excepción exacta porque olvidé activar el entorno virtual.
fuente
Las siguientes podrían ser las posibles razones,
Para crear un entorno virtual
Para activar el entorno virtual
fuente
También recibí el mismo error.
Luego volví a la carpeta donde está la carpeta del entorno y olvidé activar un entorno virtual, por lo que solo recibí este error.
Vaya a esa carpeta y active el entorno virtual.
fuente
Además, el tutorial recomienda que se utilice un entorno virtual (consulte la documentación de Django: https://docs.djangoproject.com/en/2.0/topics/install/#installing-official-release "). Puede hacer esto con
pipenv --three
. Once ha instalado django conpipenv install django
y activado su entorno virtual conpipenv shell
, python se referirá a python3 al ejecutarpython manage.py runserver
.Documentación de Pipenv: https://pipenv.kennethreitz.org/
fuente
Lo que me pregunto es que aunque django está instalado en el contenedor, es posible que no esté en la máquina host donde está ejecutando el comando. Entonces, ¿cómo se ejecutará el comando? Entonces, dado que ninguna de las soluciones anteriores funcionó para mí.
Descubrí el contenedor en ejecución y entré en el contenedor en ejecución usando y
docker exec -it <container> bash
luego ejecuté el comando dentro del contenedor de la ventana acoplable. Como tenemos el contenedor volumétrico, los cambios realizados también se reflejarán localmente. Cualquier comando que se deba ejecutar se puede ejecutar dentro del contenedor en ejecuciónfuente
Para los futuros lectores, yo también tuve el mismo problema. Resulta que instalar Python directamente desde el sitio web y tener otra versión de Anaconda causó este problema. Tuve que desinstalar Python2.7 y solo mantener anaconda como única distribución.
fuente
¿Has entrado en el entorno virtual de django? Ejecutar
python -m venv myvenv
si aún no lo ha instalado.fuente
Solo haz:
pipenv shell
luego repite:
python manage.py runserver
y no elimine
from exc
como se sugirió anteriormente.¡salud!
fuente
Tuve el mismo problema y pude resolverlo. Está relacionado con la versión de Django que ha instalado, algunas de ellas no son compatibles con python 2.7. Si ha instalado Django con pip, significa que está instalando la última versión de lo que probablemente no sea compatible con python 2.7. Puede obtener más información al respecto aquí . Sugeriría Python 3 o especificar la versión de Django durante la instalación (que es 1.11 para Python 2.7).
fuente
Resolví este problema para desinstalar la versión múltiple de Python. Consulte la documentación oficial de Django para conocer la compatibilidad con Python.
" Compatibilidad con Python
Django 2.1 es compatible con Python 3.5, 3.6 y 3.7. Django 2.0 es la última versión compatible con Python 3.4 ".
archivo manage.py
Si eliminar "from exc" de la penúltima línea de este código generará otro error debido a múltiples versiones de Python.
fuente
activar env con el siguiente comando
luego ejecuta el comando
fuente
Deberías iniciar tu entorno virtual ,
¿cómo hacerlo?
primero con el cd del terminal en el directorio que contiene manage.py
luego escribe
$source <myvenv>/bin/activate
reemplazar con el nombre de su entorno virtual, sin corchetes angulares.Otro problema puede ser que su directorio raíz y venv no coincidan. La estructura debería ser algo como esto:
Ese es su entorno virtual y manage.py debería estar en la misma carpeta. La solución a eso es reiniciar el proyecto. Si se enfrenta a este error, aún no debe haber codificado nada, así que reinicie.
fuente
También resolví mi problema cuando activé mi entorno virtual usando:
fuente
Tuve este problema (Mac) y seguí las instrucciones de la página siguiente para instalar y activar el entorno virtual
https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/
Una vez que instalé y activé el entorno virtual lo revisé
Luego instalé django en el entorno virtual
Y luego podría ejecutar mi aplicación
Cuando llegué a la siguiente parte del tutorial
Encontré otro error:
quite
y luego creó el directorio de encuestas
fuente