python - tutorial - Sin módulo llamado django.core
django windows (25)
Acabo de obtener el mismo ImportError en Windows Vista con Python 2.7 y 3.2 instalados y usando virualenv con Python 2.7 y Django 1.4.3.
Cambié la asociación de archivos .py en Explorer de 3.2 a 2.7. Haga clic derecho sobre un archivo .py y cambie las configuraciones. Todavía tengo el ImportError.
Ejecuté cmd.exe
como administrador y copié las cosas anteriores de ftype
. Después de un error, notó que las comillas dobles no se copian correctamente del navegador a cmd. Reescribí el comando en cmd, pero todavía tengo el ImportError.
En la raíz del entorno virtual activo, di explícitamente el comando python
y la ruta a django-admin.py desde allí. (env_p27) C:/Users/Gemmu/env_p27>python ./Scripts/django-admin.py startproject mysite
Eso funciono.
Gracias por toda la ayuda para todos.
He actualizado a la última versión de Django 1.0.2 después de desinstalar mi versión anterior de Django. Pero ahora cuando ejecuto django-admin.py aparece el siguiente error. ¿Cómo puedo resolver esto?
Traceback (most recent call last):
File "C:/Python25/Lib/site-packages/django/bin/django-admin.py", line 2, in <module>
from django.core import management
ImportError: No module named django.core
Bueno ... Hago algo radical. Desconecto python y Variables/PATH this: ;C:/Python26/Scripts;C:/Python26.
entorno Variables/PATH this: ;C:/Python26/Scripts;C:/Python26.
Y su trabajo ... Tuve tu problema antes.
Como de costumbre, una secuencia de comandos de instalación no pudo establecer los permisos de lectura / ejecución del mundo :) Haga esto:
sudo find /usr/lib/python2.5/site-packages/django -type d -exec chmod go+rx {} /;
sudo find /usr/lib/python2.5/site-packages/django -type f -exec chmod go+r {} /;
Debes asegurarte de que django esté en tu PYTHONPATH.
Para probar, simplemente haga una import django
desde un shell de python. No debería haber salida:
ActivePython 2.5.1.1 (ActiveState Software Inc.) based on
Python 2.5.1 (r251:54863, May 1 2007, 17:47:05) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>>
Si instaló django a través de setuptools
( easy_install
, o con setup.py
incluido con django), luego .pth
sus site-packages
si el archivo .pth
( easy-install.pth
, django.pth
, ...) apunta al carpeta correcta.
HIH.
Después de leer mucho encontré una solución que funciona para mí.
yo tengo
django version 1.9.2
Establezca todas las variables del sistema en "ruta". No hay copia duplicada en la variable de usuario ni en PYTHONPATH.
A continuación, establezca el valor en regedit
hizo un virtualenv en la carpeta deseada por comando
virtualenv VENV
Y finalmente en cmd
comando usado
django-admin.py startproject MySite
***and not this***
python django-admin.py startproject MySite
en la carpeta raíz de "VENV"
Y funcionó
En mi caso, estoy en OS X Lion y he instalado Python con homebrew . Recibía el mismo error, pero ninguna de las soluciones publicadas aquí me ayudó. En mi caso solo tuve que editar el guion:
vim /usr/local/share/python/django-admin.py
Y noté que la primera línea era incorrecta, ya que apuntaba a la instalación de python del sistema:
#!/usr/bin/python
Lo modifiqué para apuntar a la instalación de homebrew:
#!/usr/local/bin/python
Y funcionó :)
Encontré este problema hoy, resultó que tenía C: / Python26 en mi camino y los archivos .py estaban asociados a Python 3.1. Reparar la versión adecuada de Python, ya sea a través de Programas y Características o ejecutando el .msi, arreglará las asociaciones.
Esto funcionó en Mac OS X
En el terminal ejecute python En python: import sys print sys.path
Busque la ruta de los paquetes del sitio. Encontré esto en el resultado de sys.path: ''/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages''
salir de Python. Encuentra dónde están tus paquetes de sitios actuales. El mío fue en /Library/Python/2.6/site-packages
Ahora tenga cuidado: verifique el contenido de los paquetes de sitio para asegurarse de que esté vacío. Es decir, el directorio /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages debe estar vacío o simplemente contener un archivo Léame. Si es así, elimine ese directorio, porque está a punto de crear un enlace simbólico.
En -s /Library/Python/2.6/site-packages/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Si no elimina la carpeta, colocará el enlace simbólico en la carpeta.
Otras opciones son agregar la ruta a sys.path. Elegí la ruta de enlace simbólico porque tengo un par de versiones de Python, no quiero varias versiones de Django y solo quería señalar la copia de trabajo conocida.
Esto funcionó para mí con bitnami djangostack:
python apps/django/django/bin/django-admin.py startproject mysite
Esto me pasó porque ejecuté pip
como sudo
mientras mi virtualenv está configurado para no importar paquetes de sitios externos, así que Django se instaló para el usuario raíz pero no en el virtualenv, a pesar de que me había activado virtualenv cuando ejecuté sudo.
La solución cambia a root, activa venv y luego instala pip.
Estoy seguro de que está relacionado con algo incorrecto en mi configuración, pero estoy teniendo el mismo problema, y funciona correctamente si lo llamo así
c:/somedir>python c:/Python26/scripts/django-admin.py startproject mysite
Gracias por publicar la pregunta y las respuestas. Tengo dos versiones de Python instaladas, pero la raíz apuntaba a la versión / usr / bin, y quería usar la versión 2.7 de Python en / usr / local / bin. Después de reconstruir / reinstalar Django y mysqldb, todo está bien y no recibo el error.
La solución más simple, aunque no la más elegante, es copiar django-admin.py de la carpeta de Scripts. La carpeta Scripts se encontrará debajo de su instalación de Python. En mi computadora está en C: / Python26 / Scripts. A continuación, pega django-admin.py en la carpeta desde la que intentas ejecutar el archivo. Es cierto que el uso de la ruta del sistema dará flexibilidad. Esta es una solución particular si tienes prisa. Luego escriba por ejemplo python django-admin.py startproject fluffyteaspoons y creará el proyecto fluffyteaspoons
Me di cuenta de esto porque no python setup.py install
. Eso configuró el ambiente.
Para con lo que dijo ... Si está usando Windows, entonces no se ejecute con ''django-admin.py'' ...
Me estoy ejecutando dentro de un entorno virtual, por lo que la ruta y el comando para crear un nuevo proyecto se ve así:
(DjangoEnv) C:/users/timreilly/Envs/django/Scripts/django-admin.exe startproject myproject
DjangoEnv es el nombre de mi entorno virtual.
Para mí, fue un problema de variable de entorno PYTHONPATH, como se mencionó anteriormente, pero nadie realmente ha demostrado cómo configurarlo para las personas que podrían usar la instrucción extra.
Linux (bash)
Configuro esta variable en mi archivo bashrc en mi carpeta de inicio (.bashrc es el archivo para mí ya que mi shell es / bin / bash).
vim ~/.bashrc
export PYTHONPATH=/usr/local/python-2.7.2/lib/python2.7/site-packages:$PYTHONPATH
source ~/.bashrc
La ruta debe estar donde sea que esté tu fuente django. El mío está ubicado en /usr/local/python-2.7.2/lib/python2.7/site-packages/django, así que solo especifiqué /usr/local/python-2.7.2/lib/python2.7/site- paquetes sin la porción django.
OSX
En OSX, la ruta es /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
y puede agregarla a /etc/profile
:
sudo echo "PYTHONPATH=/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:$PYTHONPATH" >> /etc/profile
source /etc/profile
Puede solucionar este problema proporcionando la ruta completa a su archivo django-admin.py
python c:/python25/scripts/django-admin.py startproject mysite
Sé que esta es una vieja pregunta, pero tuve el mismo problema, en mi caso, fue porque estoy utilizando virtualenv con django, pero las extensiones de archivo .py en Windows están asociadas a la instalación principal de Python, por lo que ejecutar el django-admin.py son directamente desde el símbolo del sistema hace que se ejecute con la instalación principal de Python sin django instalado.
Entonces, como no sé si hay un equivalente de hash pound en Windows, trabajé en esto ejecutando python seguido de la ruta completa de django-admin.py, o también puedes modificar el script de lotes virtualenv para cambiar las asociaciones de archivos y cambiarlo cuando lo desactives (aunque no estoy seguro de cómo hacerlo, ya que no estoy muy familiarizado con el script por lotes).
Espero que esto ayude,
Si está utilizando Windows, entonces no ejecute con ''django-admin.py'', ya que esto llamará a su python.exe externo para que se ejecute y no se puede leer en el django dentro del entorno virtual. Pruebe con ''python django-admin.py'' para usar su python.exe dentro de su entorno.
Si sus variables de ruta son correctas y desde el shell de python puede hacerlo: desde la administración de importación de django.core, asegúrese de incluir "python" antes de "django-admin.py" como tal: python django-admin.py startproject thelyittlethings
Tengo el mismo problema en Windows y parece que he encontrado el problema. Tengo 2.7 y 3.x instalados. Parece que tiene algo que ver con el programa asociado de .py:
En el tipo de línea de comando:
assoc .py
y el resultado es:
.py = Python.File
lo que significa que .py está asociado con Python.File
entonces intenté esto:
ftype Python.File
Tengo:
Python.File = "C: / Python32 / python.exe" "% 1"% *
lo que significa que en la línea de comando .py está asociado con mi instalación de Python 3.2, y es por eso que no puedo simplemente escribir "django-admin.py blah blah" para usar django.
TODO lo que necesita hacer es cambiar la asociación:
ftype Python.File = "C: / Python27 / python.exe" "% 1"% *
¡entonces todo está bien!
Tuve el mismo problema en Windows XP. El motivo fue que instalé varias versiones de Python (2.6.3.2). PATH de .windows está configurado correctamente para python26, pero el archivo .py está asociado a python32. Quiero que el archivo .py esté asociado con python26. Para resolverlo, la manera más fácil es hacer clic derecho en * .py (como django-admin.py), elegir "abrir con" -> "elegir programa ..." -> "Buscar ..." (seleccione c: / python26 / python.ext) -> "Ok". Entonces podemos ejecutar django-admin.py en el cmd sin la necesidad del prefijo expansivo "c: / python26 / lib / site-packages / django / bin".
Tuve el mismo problema y recordé que había instalado iPython la tarde anterior. Desinstalé iPython y el problema desapareció. Por cierto, estoy trabajando con virtualenv. Instalé iPython en el directorio de paquetes de sitio de todo el sistema, así que acabo de volver a instalar iPython dentro de cada uno de los virtualenv que estoy usando. Después de instalar iPython ayer, había notado un mensaje de advertencia (de la versión 0.13 de iPython) que había detectado que estaba usando virtualenv y que si me encontraba con algún problema debería instalar iPyton dentro de cada virtualenv.
Tuve el mismo problema, estaba claro que tenía un problema de configuración PYTHONPATH
. La solución es bastante simple, simplemente cree un archivo con este nombre django.pth
en su PYTHONHOME/Lib/site-packages
donde PYTHONHOME
es el directorio donde está instalado Python (el mío es: C: / Python27). Agregue la siguiente línea al archivo django.pth
:
PYTHONHOME/Lib/site-packages/django
Por supuesto, tienes que cambiar PYTHONHOME
al directorio de instalación de tu Python, como te expliqué.
Tenga en cuenta que puede editar el django.pth
para incluir cualquier directorio que desee incluir en PYTHONPATH
. En realidad, puede path.pth
nombre que desee, path.pth
, por ejemplo, si desea que sea más general e incluya varias rutas de directorio.
Una pequeña solución rápida es simplemente crear symlink ln -s $SOMEWHERE/lib/python2.6/site-packages/django/ ./django