2010-01-16 12 views
6

Una de las grandes características de Django es que puede abrir una configuración de intérprete de Python para usar con su proyecto. Esto se puede usar para analizar objetos en una base de datos y permite que cualquier comando de Python se ejecute en su proyecto. Lo encuentro esencial para el desarrollo de Django. Se invoca en el directorio del proyecto usando este comando:El shell de Python/Django no se iniciará

$ python manage.py shell 

acabo de empezar a desarrollar un nuevo proyecto y por alguna razón la cáscara no funciona. He echado un vistazo en línea por el error y no encontré nada. Agradecería cualquier ayuda en este error:


Traceback (most recent call last): 
    File "manage.py", line 11, in 
    execute_manager(settings) 
    File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 362, in execute_manager 
    utility.execute() 
    File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 303, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 195, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 222, in execute 
    output = self.handle(*args, **options) 
    File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 351, in handle 
    return self.handle_noargs(**options) 
    File "/Library/Python/2.6/site-packages/django/core/management/commands/shell.py", line 29, in handle_noargs 
    shell = IPython.Shell.IPShell(argv=[]) 
AttributeError: 'module' object has no attribute 'Shell' 

Gracias de antemano por su ayuda!

+0

¿Tiene IPython instalado? ¿Está en tu 'PYTHONPATH'? – notnoop

+0

Oh, eso está bien, ¿entonces se integra django con ipython? – shylent

+1

@shylent, sí, en el sentido de que usará IPython como shell si está instalado. –

Respuesta

12

Parece que IPython está instalado incorrectamente de alguna manera. Intente iniciar el shell con:

./manage.py shell --plain 

para iniciar el shell Python estándar, en lugar de IPython. Si eso funciona, entonces intente eliminar completamente IPython y vuelva a instalarlo.

+0

¡Muchas gracias! Esto funciona perfectamente – danpalmer

+0

¡Impresionante! Un paquete de agradecimiento –

6

IPython 0.11 tiene una API diferente, para la cual existe una solución en las últimas versiones de Django.

Para versiones anteriores de Django, puede utilizar IPython 0,10, lo que hace el trabajo:

pip install ipython==0.10 
+1

voto abajo \t Eso funcionó. Sin embargo, cuando comencé el shell, obtuve IOError: File'ipythonrc 'no encontrado en los directorios actuales o suministrados :. Probablemente escribió la versión de ipython 11 sobre la existente y 10 ya no podría leer !? ejecución: rm -rf ~/.ipython/ Parecido a fixit. – brianray

+2

@brianray: eso es posible, puedo confirmar que 'rm -Rf ~/.ipython /' es una buena solución aquí. – vdboor

+0

Gracias! Estaba buscando exactamente una versión de python que funcione con django 1.0.4 – Munhitsu

Cuestiones relacionadas