python - from - Error de importación django-Ningún módulo llamado core.management
python relative import (26)
Ok, veo muchos de estos errores. He intentado todo lo que sé hacer y aún 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ó utilizando python setup.py install después de desempaquetar tar.gz download.
Todo funciona bien, rara vez tengo la necesidad de ejecutar manage.py
pero estoy tratando de usar la nueva aplicación staticfiles y estoy teniendo 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 problema de PATH
.
Desde la instalación de Django reviso dos veces mi directorio de site-packages
.
python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/usr/lib/python2.5/site-packages
Ok, vamos a ver lo que tengo, echo $ PYTHON_PATH estaba vacío, así que lo configuré
export PYTHON_PATH=/usr/lib/python2.5/site-packages/django
Todavía sin suerte. Veamos qué dice 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'']
el camino está ahí, incluso creé /usr/lib/python2.5/site-packages/django.pth con los contenidos
cat /usr/lib/python2.5/site-packages/django.pth
/usr/lib/python2.5/site-packages/django/
¿Alguien tiene alguna pista de lo que está pasando aquí?
Encontré un enlace simbólico más adelante en la ruta que estaba en el camino, pero no en 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 problemas 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, por lo que aún no estoy seguro de qué pasa con esta instalación real aquí, pero parece que no está en los proyectos de django, sino en django / python instala.
Almacene la ruta Python Python en una variable y ejecútela. Esto incluiría los paquetes que de otra manera faltaran.
python_path= `which python`
$python_path manage.py runserver
Asegúrese de estar ejecutando la instancia correcta de Python con los directorios correctos en la ruta. En mi caso, este error fue el resultado de ejecutar el ejecutable de python
por accidente: en realidad, había instalado Django en el marco y las bibliotecas de python2.7
. Lo mismo podría suceder como resultado de virtualenv también.
Como es sabido, este fue un problema de ruta.
la base de mis paquetes personalizados compartía 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 para empezar!
Gracias por la ayuda.
De acuerdo, así es como sigue:
Usted ha creado un entorno virtual y el módulo django pertenece únicamente a ese entorno. Como virtualenv se aísla de todo lo demás, por lo tanto, está viendo esto.
revise esto para obtener más ayuda:
1.Puede cambiar al directorio donde está almacenado su entorno virtual y luego ejecutar el módulo django.
2. De manera alternativa, puedes instalar django de manera global en tus paquetes de sitio python-> 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 uses. Esto para python 3+ series)
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 django powered.
Espero que esto ayude.
Estaba teniendo el mismo problema mientras trataba de 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 . Lo resolví mencionando el camino python de virtualenv así:
<env path>/bin/python manage.py startapp myapp
Este error generalmente ocurre cuando django no está instalado. Si ya ha instalado django pero sigue recibiendo el mismo error, entonces debe estar trabajando en un entorno virtual separado. También debe instalar django en su entorno virtual. Cuando estás en el caparazón de la máquina virtual, simplemente haz esto:
pip instala django
Es porque la máquina virtual tiene un sistema de archivos por separado, no reconoce django, incluso si está instalado en su sistema.
Estoy completamente de acuerdo en que este es un problema de ruta pero, claro, tuve el mismo error. Fue debido al error de usar una ruta relativa para mi ejecutable de Python al configurar mi entorno virtual. Yo había hecho esto:
virtualenv -p ~/python_runtimes/2.7.3/bin/python venv2.7.3 --distribute
En cambio, tuve que dar la ruta completa al ejecutable de Python.
HTH, Harlin
Incluí el nombre de la nueva aplicación en la lista INSTALLED_APPS en settings.py "before" Publiqué el comando startapp. Una vez que eliminé la entrada de la lista, pude crear la aplicación.
Intente cambiar su primera línea de manage.py.
Cambio
#!/usr/bin/python
por
#!/usr/bin/env python
Otra posible razón de este problema es que su sistema operativo ejecuta python3 de forma predeterminada.
o explícitamente lo haces: python2 manage.py
o edita el shebang de manage.py, así:
#!/usr/bin/env python2
Para aquellos de ustedes que usan Django 1.6 o posterior, tenga en cuenta que execute_manager se eliminó . Hay una solución publicada en la segunda respuesta SO here .
Para mí, mi servidor estaba usando Python 2.4. Simplemente busqué Python 2.7, que estaba instalado en mi servidor, y creé un alias.
alias python=python2.7
Si necesitas saber más, encontré la solución here
Por favor, reinstale django con pip:
sudo pip install --upgrade django==1.3
(Reemplace 1.3 en su versión django)
Probablemente estés usando virtualenvwrapper . No olvides seleccionar tu entorno ejecutando:
$ workon env_name
Resolví este problema usando el comando ''django-admin'' como sigue:
django-admin startproject _project_name
simplemente elimine el ".py" adjunto a "django-admin"
Si está en un entorno virtual, debe activarlo antes de poder ejecutar ./manage.py ''comando''
source path/to/your/virtualenv/bin/activate
si configura workon en .bash_profile o .bashrc
workon yourvirtualenvname
* por favor, no edite su archivo manage.py tal vez funcione de la manera correcta y podría darle errores futuros
Si, como yo, está ejecutando su django en un manage.py
y obtiene este error, mire su manage.py
. La primera línea debe definir el ejecutable python utilizado para ejecutar el script. Esta debería ser la ruta al python de su virtualenv, pero es algo incorrecto como / usr / bin / python, que no es la misma ruta y usará el entorno global de python (y faltarán paquetes). Simplemente cambie la ruta en el camino al ejecutable python en su virtualenv.
También puede reemplazar su línea shebang con #!/usr/bin/env python
. Esto debería usar el entorno e intérprete apropiado de Python, siempre que active su Virtualenv primero (supongo que sabe cómo hacerlo).
Solucioné este problema cambiando #PATH = "$ VIRTUAL_ENV / bin: $ PATH" a PATH = "$ PATH: $ VIRTUAL_ENV / bin" Por razones que no son obvias para mí, el ejecutable python en el directorio virtualenv no ve django pero normalmente Python instalado hace.
Tuve el mismo problema porque estaba instalando Django como superusuario, por lo tanto, no en mi virtualenv. No deberías hacer sudo pip install Django
En cambio, instálelo de esta manera:
$ source ./bin/activate
$ pip install Django
Tuve este error al intentar ejecutar un sistema integrado (usando django por supuesto) en una Raspberry Pi 2 (y no una VM )
Ejecutando esto:
sudo pip install Django
Hizo el truco!
- solo en caso de que un tipo que use Raspbian / Jessie tenga esto
Tuve un problema similar. PyCharm no pudo ejecutar el servidor, pero pude ejecutarlo desde la línea de comando. Intenté qué python y luego me aseguré de que PyCharm fuera el mismo intérprete y luego todo funcionó bien.
Ustedes no mencionaron un caso donde alguien "como yo" instalaría django antes de instalar virtualenv ... así que para toda la gente de mi tipo si lo hiciera ... reinstalar django después de activar el virtualenv..i espero que esto ayude
fuente ~ / blog-venv / bin / activate
elige tu virtualenv para reemplazar "blog-venv" aquí.
su proyecto se crea usando una versión anterior de django-admin.py, anterior a django1.3
para arreglar esto crea otro proyecto django y copia su manage.py y pégalo en el anterior
¡¡¡Resuelto!!!
Después de buscar por años y probar todas estas otras sugerencias que no funcionaron, finalmente encontré la solución para mi configuración.
Mi configuración / escenario:
- Windows, Python27
- Mi proyecto django está revisado a través de svn
- cuando ejecuto python manage.py runserver en la nueva carpeta, recibí el error de importación
- python manage.py runserver solía funcionar en la carpeta original (desde la cual yo confirmaría los cambios) hasta que lo borré
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 ... ¡pude ejecutar el servidor otra vez!
No tengo ni idea de por qué, aunque
python3 manage.py runserver
Verifique la versión de Python