python django python-2.7 importerror django-manage.py

python - ImportError: No hay un módulo llamado django.core.management cuando se usa manage.py



python-2.7 django-manage.py (11)

Estoy intentando ejecutar python manage.py runserver en una aplicación de Django que tengo y recibo este error:

Traceback (most recent call last): File "manage.py", line 8, in <module> from django.core.management import execute_from_command_line ImportError: No module named django.core.management

Aquí está la salida de pip freeze | grep -i django de pip freeze | grep -i django pip freeze | grep -i django para mostrar que sí tengo instalado Django:

Django==1.6.5 django-cached-authentication-middleware==0.2.0 django-cors-headers==1.1.0 django-htmlmin==0.7.0 django-static-precompiler==0.9 djangorestframework==2.3.14

Además, al intentar ejecutar /usr/local/bin/python2.7 manage.py runserver produce el mismo error.


Además, asegúrese de no haber .bashrc su .bashrc con alias es. alias python="/usr/bin/python3" este tipo de errores si .bashrc contiene algo como alias python="/usr/bin/python3" .


Descubrí que podía importar el módulo django desde el intérprete de python, pero django-admin.py no podía importarlo cuando se ejecutaba desde la línea de comandos.

Confirmé que estaba usando el intérprete de python en mi entorno virtual.

Estaba usando una versión de 64 bits de python. Desinstalar e instalar la versión de 32 bits, luego volver a crear mi venv solucionó esto por mí.


El problema directo es que falta el paquete django. Para mí, como estaba ejecutando django en virtualenv, este problema ocurre después de cambiar el nombre de mi directorio de trabajo.

Reinstalar el env funcionó para mí.


Encontré el mismo problema cuando hice toda la configuración y corrí para django con Python3 pero ejecuté el siguiente comando:

$ python manage.py migrate

solucionó el problema utilizando una versión coherente de Python:

$ python3 manage.py migrate Operations to perform: Apply all migrations: sessions, auth, admin, contenttypes Running migrations: Rendering model states... DONE Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying sessions.0001_initial... OK

Otros comandos que ejecuté antes de esto fueron:

python3 -m pip install django django-admin startproject learning_site python3 manage.py runserver 0.0.0.0:8000


Ese error se debe al entorno del usuario. De hecho, acabo de agregar la ruta bin del entorno virtuel a PATH y el problema se ha resuelto.

PATH=/bin/of_virtualenvironment/:$PATH


Para solucionar mi problema utilicé la siguiente línea en mi .zprofile:

export PYTHONPATH=/usr/local/lib/python2.7/site-packages

Estaba intentando importar Django y no se pudo encontrar, y hacer lo anterior resolvió el problema.


Posibles problemas que pueden causar su problema:

  1. PYTHONPATH no está bien configurado, para configurarlo debes hacer:

    export PYTHONPATH=/usr/local/lib/python2.7/site-packages

  2. Olvidaste la línea #!/usr/bin/env python al comienzo de manage.py

  3. Si está trabajando en virtualenv, olvidó activar el entorno virtual para ejecutar los comandos de manage.py (es posible que haya instalado Django en su sistema pero no en su virtualenv)

    source path/to/your/virtualenv/bin/activate

    o

    workon env_name

  4. Tienes Python 2.7 y Python 3.4 jugando con el paquete

  5. Estás usando un Python 2.4 muy antiguo y deberías decirle al sistema que use tu Python 2.7 con:

    alias python=python2.7

Algunas veces, reinstalar / actualizar Django soluciona algunos de esos problemas.

Es posible que desee ejecutar

python -c "import django; print(django.get_version())"

para verificar si Django está instalado en su PC o en su virtualenv si está usando uno

Puedes encontrar otras soluciones en otras preguntas similares:


Resolví este mismo error ejecutando el siguiente comando:

python3.4 manage.py runserver

Y el comando anterior ejecutado con éxito para mí. Entonces, lo que puedes intentar es, si estás usando Python 2.7, entonces reemplaza 3.4 por 2.7. Espero que esto ayude.


Resolví este problema instalando django dentro del entorno virtual en el que estaba trabajando.


Si usa virtualenv y ejecuta manage.py runserver en el sistema de Windows, cmd usará python del sistema, no python en virtualenv. Porque si instala python en el sistema, cmd usará automáticamente python que instaló en el sistema, no python en virtualenv . Así que si usas virtualenv en Windows. necesitas correr

>python ./manage.py runserver


en donde reside su archivo django, verifique la primera línea de django-admin.py:

#!/usr/bin/env python

Si usa python 3+, python aquí puede referirse a python2 aquí. Así que comprueba con qué python instales django.

ls -l $(which -a python3)

Si tienes python3 instalado y no vinculado como python , cambia la primera línea de shebang por

#!/usr/bin/env python3