IPython, la consola de Python mejorada

Ipython
Etiquetas:

IPython es un shell interactivo que añade funcionalidades extra al modo interactivo incluido con Python, como resaltado de líneas y errores mediante colores, una sintaxis adicional para el shell, autocompletado mediante tabulador de variables, módulos y atributos.

Creo que la definición deja bastante claro que es una mejora importante de la interfaz de Python shell, cuyo objetivo es facilitar la vida al analista de datos. Sí, digo analista en lugar de programador (que también) porque esta shell interactiva es una herramienta muy popular entre la comunidad científica para mantener, compartir y replicar trabajos. El autor de dicha herramienta es Fernando Pérez @fperez_org.

Cómo he expuesto con anterioridad, IPython está incluido en la distribución Anaconda, y también he escrito un post para su actualización mediante conda.

actualiza ipython

Ipython

Pero, además de la consola, es posible acceder a IPython por dos vías más: web y desktop.

IPython notebook

Desde 2011, IPython ha sufrido una evolución muy importante con la aparición de IPython Notebook, que es un pequeño servidor web que permite programar en el navegador. Esta forma de programar con IPython es ideal para el análisis interactivo, fácilmente reproducidble, fácilmente publicitable tanto en entornos de investifación como formativos. Todo es basa en ficheros .ipynb, que no es sino una cadena en formato JSON.

La popularidad de los Notebooks de IPython no es exclusiva de Python, sino que además se han diseñado para permitir (e incluso mezclar) otros lenguajes Julia, Haskell, F#, Ruby, Go, and Scala. Toda una declaración de intenciones!

Si en lugar de tener acceso a la consola de IPython prefieres hacerlo vía navegador, solo tienes que poner en una consola de MS-DOS lo siguiente:

ipython notebook

Running Ipython Notebook

Running Ipython Notebook

El resultado es este:

Ipython Notebook

Ipython Notebook

Ahora, ponemos crear un notebook, y utilizar tanto las palabras mágicas (magic words) como programar con Python. Podemos navegar por nuestras carpetas o incluso correr algún notebook que tengamos en la nube.

NOTA: Parece ser que con algunos antivirus, IPython no muestra los resultados. Si ese es tu caso, deberías lanzar Ipython con la siguiente instrucción: ipython notebook –ip=localhost

IPython desktop

Si eres más de trabajar en software de escritorio, IPython también tiene un entorno basado en Qt que proporciona un entorno de programación donde puedes incluir imágenes, videos editar multilínea, síntaxis resaltada, gráficos de matplotlib, …. Básicamente tenemos que escribir

ipython qtconsole

IPython QtConsole

IPython QtConsole

 

Y obtenemos:

 

IPython QtConsole

IPython QtConsole

El entorno incluye menús con acceso a las funciones mágicas, kernel, … y más!

IPython, más que una shell

Como podeis comprobar, IPython no se limita sólo a la consola, y presenta varias formas de trabajar de la misma manera, para que tú elijas la que más te guste!

Ahora, es tu turno de sacarle rendimiento!