Ok, veo muchos de estos errores. He intentado todo lo que sé hacer y todavía tengo que resolver esto.
Estoy trabajando en un servidor de desarrollo que ejecuta python 2.5 y Django 1.3. Django 1.3 se instaló usando python setup.py install después de desempacar la descarga tar.gz.
Todo funciona bien, rara vez tengo la necesidad de ejecutarlo, manage.py
pero estoy tratando de usar la nueva aplicación staticfiles y tengo problemas.
python manage.py collectstatic
Traceback (most recent call last):
File "manage.py", line 2, in <module>
from django.core.management import execute_manager
ImportError: No module named core.management
Ok, entonces tengo un PATH
problema.
Desde la instalación de Django, verifico dos veces mi site-packages
directorio.
python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/usr/lib/python2.5/site-packages
Ok, veamos lo que tengo, echo $ PYTHON_PATH estaba vacío, así que lo configuré
export PYTHON_PATH=/usr/lib/python2.5/site-packages/django
Aún sin suerte. Vamos a ver qué tiene que decir sys.path
>>> import sys
>>> print sys.path
['', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/PIL', '/usr/lib/python2.5/site-packages/django', '/var/lib/python-support/python2.5']
ruta está ahí, incluso creé /usr/lib/python2.5/site-packages/django.pth con contenido
cat /usr/lib/python2.5/site-packages/django.pth
/usr/lib/python2.5/site-packages/django/
¿Alguien tiene pistas sobre lo que está pasando aquí?
Encontré un enlace simbólico más arriba en el camino que se estaba interponiendo, pero sin un nuevo error.
python manage.py collectstatic
Traceback (most recent call last):
File "manage.py", line 14, in <module>
execute_manager(settings)
File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 349, in execute
version=get_version(),
File "/usr/lib/python2.5/site-packages/django/__init__.py", line 12, in get_version
from django.utils.version import get_svn_revision
ImportError: No module named utils.version
También intenté crear un nuevo proyecto para ver si había algún problema allí y obtener el mismo error de utils.version.
Nodo lateral: Unode de #django me ayudó un poco, configuré virtualenv en la misma máquina y superé los errores, así que todavía no estoy seguro de qué sucede con esta instalación real aquí, pero parece que no está en los proyectos de django sino en el django / instalación de python.
fuente
import django
en el shell de Python?python manage.py syncdb
?Respuestas:
Si, como yo, está ejecutando su django en un virtualenv, y obtiene este error, mire su
manage.py
. La primera línea debe definir el ejecutable de Python utilizado para ejecutar el script. Esta debería ser la ruta de acceso a su python de virtualenv, pero es algo incorrecto como / usr / bin / python, que no es la misma ruta y utilizará el entorno global de python (y faltarán paquetes). Simplemente cambie la ruta en la ruta al ejecutable de Python en su virtualenv.También puede reemplazar su línea shebang con
#!/usr/bin/env python
. Esto debería usar el entorno y el intérprete de Python adecuados siempre que active su virtualenv primero (supongo que sabe cómo hacerlo).fuente
<path-to-my-env>/bin/python manage.py runserver
#!/Users/Chris/virtualenv/my_first_venv/bin/python
o algo por el estilo?Si está en un virtualenv, debe activarlo antes de poder ejecutar ./manage.py 'command'
si configura el trabajo en .bash_profile o .bashrc
* por favor no edite su archivo manage.py, tal vez no funcione de la manera correcta y le pueda dar errores futuros
fuente
Tuve el mismo problema porque estaba instalando Django como un superusuario, por lo tanto no en mi virtualenv. No deberías hacer
sudo pip install Django
En su lugar, instálelo de esta manera:
fuente
Por favor, reinstale django con pip:
(Reemplace 1.3 a su versión de django)
fuente
sudo
para instalar en los directorios del sistema interferirá con los paquetes nativos y probablemente romperá al menos algunas partes de su instalación de Python. Recomiendo virtualenv.Como se sabe, este fue un problema de ruta.
la base de mis paquetes personalizados compartió un nombre con un directorio establecido en / etc / profile. Sin embargo, los paquetes estaban en una ubicación diferente para el servidor web. ¡Así que eliminé las entradas ofensivas de mi $ PYTHONPATH y estaba listo!
Gracias por la ayuda.
fuente
Otra posible razón de este problema es que su sistema operativo ejecuta python3 de forma predeterminada.
O tienes que hacer explícitamente:
python2 manage.py
o necesita editar el shebang de
manage.py
, así:o si estás usando python3:
fuente
#!/usr/bin/env python2.7
Tuve este error al intentar ejecutar un sistema incrustado (usando django, por supuesto) en una Raspberry Pi 2 (y no una VM )
Ejecutando esto:
Hecho el truco!
fuente
Probablemente esté utilizando virtualenvwrapper . No olvide seleccionar su entorno ejecutando:
fuente
Para mí, mi servidor estaba usando Python 2.4. Simplemente busqué Python 2.7, que estaba instalado en mi servidor, y creé un alias.
Si necesita saber más, encontré la solución aquí
fuente
Estaba teniendo el mismo problema mientras intentaba crear una nueva aplicación. Si escribe
python manage.py startapp myapp
, entonces busca usr / bin / python. Pero necesita este " python " que se encuentra en el directorio / bin de su ruta de env virtual . Resolví esto mencionando la ruta de python de virtualenv así:fuente
Intente cambiar su primera línea de manage.py.
Cambio
por
fuente
#!/usr/bin/env python
por#!/usr/bin/python
Verifique la versión de Python
fuente
¡¡¡Resuelto!!!
Después de buscar edades y probar todas estas otras sugerencias que no funcionaron, finalmente encontré la solución para mi configuración.
Mi configuración / escenario:
Solución
Elimine cualquier carpeta llamada django en el mismo directorio de manage.py
Eso es correcto ... tan pronto como eliminé la carpeta "django" que solo contenía un archivo __init__.py ... ¡podría volver a ejecutar el servidor!
No tengo idea de por qué
fuente
Para aquellos de ustedes que usan Django 1.6 o posterior, tenga en cuenta que execute_manager fue eliminado . Hay una solución publicada en la segunda respuesta SO aquí .
fuente
Almacene la ruta de Python Python en una variable y ejecútela. Esto incluiría los paquetes que de otro modo faltarían.
fuente
Tuve un problema similar. PyCharm no pudo ejecutar el servidor pero pude ejecutarlo desde la línea de comandos. Probé qué python y luego me aseguré de que PyCharm fuera el mismo intérprete y luego todo funcionó bien.
fuente
Este error generalmente ocurre cuando django no está instalado. Si ya instaló django pero sigue recibiendo el mismo error, debe estar trabajando en un entorno virtual separado. También necesita instalar django en su entorno virtual. Cuando esté en el shell de la máquina virtual, simplemente haga esto:
pip install django
Debido a que la máquina virtual tiene un sistema de archivos separado, no reconoce django incluso si está instalado en su sistema.
fuente
Solucioné este problema cambiando #PATH = "$ VIRTUAL_ENV / bin: $ PATH" a PATH = "$ PATH: $ VIRTUAL_ENV / bin" Por razones no obvias para mí, el ejecutable de Python en el directorio virtualenv no ve django pero normalmente Python instalado lo hace.
fuente
================================== SOLUCIÓN =============== ==========================
Primer goto: virtualenv
ejecutando el comando: bin fuente / activar
e instale django porque está recibiendo el error relacionado con 'importar django':
Entonces corre:
(Nota: cambie 'runserver' por el nombre del programa que desea ejecutar)
Por el mismo problema, funcionó en mi caso. ================================== Sinopsis =============== ==========================
Durante el manejo de la excepción anterior, se produjo otra excepción:
Durante el manejo de la excepción anterior, se produjo otra excepción:
Durante el manejo de la excepción anterior, se produjo otra excepción:
DESPUÉS DE LA INSTALACIÓN de django:
DESPUÉS DE RESOLVER:
¡¡Buena suerte!!
fuente
su proyecto se crea utilizando una versión anterior de django-admin.py, anterior a django1.3
para solucionar esto, cree otro proyecto de django y copie su manage.py y péguelo en el anterior
fuente
Estuve completamente de acuerdo en que este es un problema de ruta, pero ahora, tuve este mismo error. Se debió al error de usar una ruta relativa para mi ejecutable de Python al configurar mi entorno virtual. Había hecho esto:
En cambio, tuve que dar la ruta completa al ejecutable de Python.
HTH, Harlin
fuente
fuente ~ / blog-venv / bin / activar
elija su virtualenv para reemplazar "blog-venv" aquí.
fuente
File "manage.py", line 8, in <module> from django.core.management import execute_from_ ImportError: No module named django.core.management
Asegúrese de ejecutar la instancia correcta de Python con los directorios correctos en la ruta. En mi caso, este error resultó de ejecutar el
python
ejecutable por accidente: en realidad instalé Django en elpython2.7
marco y las bibliotecas. Lo mismo podría suceder como resultado de virtualenv también.fuente
De acuerdo, entonces va así:
Ha creado un entorno virtual y el módulo django pertenece solo a ese entorno. Dado que virtualenv se aísla de todo lo demás, por lo tanto, está viendo esto.
ve a través de esto para obtener más ayuda:
http://www.swegler.com/becky/blog/2011/08/27/python-django-mysql-on-windows-7-part-i-getting-started/
1.Puede cambiar al directorio donde está almacenado su entorno virtual y luego ejecutar el módulo django.
2. Alternativamente, puede instalar django globalmente en sus paquetes python-> site ejecutando pip o easy_install
Comando usando pip: pip install django
entonces haz esto:
importar django print (django.get_version ()) (dependiendo de la versión de python que use. Esto para la serie python 3+)
y luego puede ejecutar esto: python manage.py runserver y verificar en su navegador web escribiendo: localhost: 8000 y debería ver la página activada por django.
Espero que esto ayude.
fuente
Incluí el nombre de la nueva aplicación en la lista INSTALLED_APPS en settings.py "before" emití el comando startapp. Una vez que eliminé la entrada de la lista, pude crear la aplicación.
fuente
Resolví este problema usando el comando 'django-admin' de la siguiente manera:
django-admin startproject _project_name
simplemente elimine el ".py" adjunto a "django-admin"
fuente
Tener una aplicación llamada
site
puede reproducir este problema tampoco.fuente
Obtuve esto debido a olvidar que instalé Django usando
pip -U
, por lo que solo estaba disponible para el usuario que ejecuta mi aplicación Django. Para ejecutar manage.py tuve que hacerfuente
todos ustedes no mencionaron un caso en el que alguien "como yo" instalaría django antes de instalar virtualenv ... así que para todas las personas de mi clase si lo hicieran ... reinstalen django después de activar virtualenv..i espero que esto ayude
fuente