domingo, 7 de octubre de 2012

Django con iPython + shell_plus (django extensions) en Mac OS X Lion

Estoy empezando un proyecto y quiero usar shell_plus. Que es parte de Django-extensions:
https://github.com/django-extensions/django-extensions

Pero estaba teniendo problemas para instalarlo. Aqui explican como hacerlo:
http://www.bilalaslam.com/2011/10/01/making-ipython-work-on-mac-os-x-lion-with-django/

Lo explico aqui. Por si el enlace deja de funcionar:

iPython
Añade funcionalidad extra a la hora de funcionar con python via consola

django-extensions
Son un conjunto de comando utiles a la hora de trabajar con django. Como por ejemplo la que me interesa a mi. shell_plus

shell_plus
Estiende la shell de django haciendo un auto load de tus modelos. Muy practico a la hora de probar querys.

Intalacion de todo en Mac OS X Lion

django-extensions e iPython tienen un problema a la hora de trabajar juntos. Este problema esta solucionado en el repositorio de django-extensions.
Asi que si lo tienes instalado. Lo primero es desinstalar.

pip uninstall django-extensions

Instalar desde el repo:
pip install -e git+https://github.com/django-extensions/django-extensions#egg=django-extensions

Por último hay que instalar readline. Pero hacerlo no con pip. Sino con easy_install asi:

easy_install -a readline
Como siempre. Es mas recomendable hacer todo esto dentro de un virtualenv