Tutorial en español del shell interactivo IPython orientado a Web-service: Aqui aprenderemos desde los comandos básicos de Consola hasta el uso del Notebook, una herramienta que permite ejecutar, documentar e incluso embeber etiquetas HTML5.
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Tutorial de IPython
1. TUTORIAL DE IPYTHON
Universidad Nacional de
Colombia
M a t e r i a l d e ap o y o e l a b o r a d o c o m o a p o y o a
la materia
Métodos Numéricos
D i e g o C a m i l o P e ñ a Ra m í r e z ( d o c e n t e )
Twitter: @nervencid
1
3. CONTENIDO
¿QUE SE PUEDE HACER CON HTML E
IPYTHON?
● ¿QUE
PODEMOS HACER DENTRO DEL
NOTEBOOK?
● ¿QUE
PODEMOS HACER DENTRO DEL
NOTEBOOK?(NOTA IMPORTANTE)
● BIBLIOGRAFIA
●
3
4. INTRODUCCIÓN
Python es una herramienta poderosa en el análisis
numérico y ofrece , sin embargo muchas veces no
parece ser muy amigable para quienes no tienen ni
idea de programación.
Otra necesidad que nos incumbe, es la necesidad de
tener a mano todas las librerías necesarias para
análisis numérico sin necesidad de padecer
problemas de compatibilidad o de versiones.
¿Como lograr esto?, la respuesta puede venir de el
navegador Web, y de la creciente tendencia del
trabajo colaborativo a través de las tecnologías de la
información.
4
5. IPYTHON
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; entre otras
funcionalidades. Es un
componente del paquete
SciPy.[1]
5
6. IPYTHON
IPython viene siendo
desarrollado desde el año
2001 por el Colombiano
Fernando Pérez, quien en
Marzo de 2013 recibió el
premio de la Free Software
Foundation[2]
6
7. INSTALACION IPYTHON
Las instrucciones de instalación para los diferentes
entornos tanto Linux, MacOS o Windows pueden
encontrarse en la pagina oficial de Ipython [3]:
http://ipython.org/install.html
7
8. CONSOLA
La consola es la herramienta básica de desarrollo de
IPython es la primera interfaz de usuario con la que nos
encontramos para iniciarla solo deberemos escribir, bien
sea en la linea de comandos de windows:
O la teminal de linux (o MacOS).
8
11. CONSOLA
Otra forma de iniciar en la consola IPython puede ser:
Lo cual cambiara ligeramente la presentación estética del
shell, esto con el propósito de poder diferenciar sesiones.
1
1
12. CONSOLA
Desde aquí ya podremos trabajar con la sintaxis de
Python (Para este tutorial Python 3).
1
2
13. CONSOLA
Podemos llamar la ayuda general de IPython de la
siguiente forma escribiendo en la linea de comandos:
1
3
15. CONSOLA
También podemos pedir ayuda de cualquier función o
método de IPython de forma similar, por ejemplo si
queremos obtener información de '%magic' lo podemos
hacer así:
1
5
19. CARPETAS Y CONSOLA
Podemos navegar en las carpetas con el comando 'cd' de
la siguiente forma, por ejemplo:
1
9
20. CARPETAS Y CONSOLA
Sin embargo la política de Ipython es que el lenguaje este
primero, por lo cual 'cd', puede asignarse como una variable
aunque esto hará que no podamos usar el comando 'cd' :
2
0
21. CARPETAS Y CONSOLA
Esto no es problema ya que podemos utilizar el comando
'%cd' de la siguiente forma, por ejemplo:
2
1
22. FUNCIONES MAGICAS (%magic) Y
COMANDOS ESPECIALES
Como ya habíamos visto el comando '%cd' nos permite
navegar entre carpetas, ya aunque NO ES VALIDO en la
sintaxis estándar de IPython, nos permiten controlar
IPython como tal.
Por ejemplo si deseamos correr un archivo podemos usar
'%run' de la siguiente forma, no olvidar ubicarse en la
carpeta que contiene dicho archivo (Ayudarse con la tecla
TAB):
2
2
23. FUNCIONES MAGICAS (%magic) Y
COMANDOS ESPECIALES
También podemos ver su código fuente con el comando
'%edit':
2
3
24. FUNCIONES MAGICAS (%magic) Y
COMANDOS ESPECIALES
IPython cuenta con otros comando especiales para hacer
pruebas de red como '!ping':
2
4
25. FUNCIONES MAGICAS (%magic) Y
COMANDOS ESPECIALES
Con '%pwd' podemos saber en que directorio estamos
actualmente:
2
5
26. FUNCIONES MAGICAS (%magic) Y
COMANDOS ESPECIALES
Con el comando 'ls' podemos saber que archivos y
carpetas hay en la carpeta actual:
2
6
27. FUNCIONES MAGICAS (%magic) Y
COMANDOS ESPECIALES
Mas información sobre comandos especiales puede ser
consultada aquí:
http://ipython.org/ipython-doc/dev/interactive/tutorial.html
2
7
28. CONSOLA QT
Otra herramienta útil de IPython es la consola QT, la cual
puede ser desplegada si escribimos en el terminal o linea
de comandos:
2
8
30. CONSOLA QT
Con la linea anterior los comandos '--pylab' e 'inline' nos
permite usar a 'pylab' como 'backend' y nos permite
generar gráficas en la misma consola, ademas de corregir
de forma limitada cosa que no se puede hacer con la
'terminal' o la linea de comandos estándar
3
0
32. CONSOLA QT
Con la linea anterior los comandos '--pylab' e 'inline' nos
permite usar a 'pylab' como 'backend' y nos permite
generar gráficas en la misma consola, ademas de corregir
de forma limitada cosa que no se puede hacer con la
'terminal' o la linea de comandos estándar
3
2
33. CONSOLA QT
Para mas información podemos consultar aquí:
http://ipython.org/ipython-doc/dev/interactive/qtconsole.ht
ml
3
3
34. NOTEBOOK
IPython no posee simplemente la consola, sino todo un
entorno de desarrollo integrado mediante el cual
podemos escribir y correr código, gráficar, e incluso
documentar sobre la marcha. Esto gracias al Notebook, el
cual nos ofrece una interfaz de usuario amigable y
comoda para poder aprovechar mas eficientemente las
caracteristicas de IPython, podemos lanzar el Notebook
desde la 'terminal' de Linux (o MacOS) así:
O la linea de comandos de windows así:
3
4
35. NOTEBOOK
Automáticamente se debería abrir el navegador principal
(Chrome, Firefox, Opera, etc...) y acceder a la interfaz
web del Notebook de Ipython.
3
5
37. NOTEBOOK
La dirección del localhost si corremos
El Notebook localmente
Directorio sobre el cual esta
Trabajando el Notebook
Actualizar lista de
Notebooks
Crear nuevo
Notebook
Borrar o cerrar el
Notebook
Lista de
Notebooks
3
7
38. NOTEBOOK
Por defecto IPython trabaja en el 'home' del usuario si es
Linux o en 'C:Documents and SettingsUsuario' si es
Windows. Tambien podemos lanzar el Notebook desde
una carpeta en especifico como por ejemplo:
'/home/diegonimus/IPython', de la siguiente forma o bien
navegar en las carpetas del equipo con el comando '%cd'
visto anteriormente:
¡OJO!, Esto es la carpeta en la que se desee
Trabajar
3
8
39. NOTEBOOK
Al crear un nuevo Notebook, nos toparemos con la
siguiente interfaz:
Titulo del documento y
La ultima vez que fue guardado
Barra de Menús
Barra de
Herramientas
Celda
Tipo de la
Celda seleccionada
3
9
40. NOTEBOOK
Los comandos de la consola funcionan de igual forma en
el Notebook, solo que podemos crear pequeños
fragmentos (o cell) de codigo paralelamente a
documentacion y ejecutarlos en tiempo real bien sea
haciendo click en "run cell" o por medio de teclado
mediante "Shift+Enter".
4
0
42. NOTEBOOK
Las celdas (cell) son la unidad fundamental dentro del
notebook y IPython ofrece los siguientes tipos de celdas:
Code: Aqui escribimos el codigo
Markdown: Sirve para para escribir texto como
comentarios, teorias, etc...
Raw Text: Al igual que el 'Markdown' puede servir para
escribir comentarios, sin embargo puede ser util tambien
para documentar codigo que no deseemos que se
ejecute
Heading 1-6: Al ser un documento web, el Notebook nos
permite embeber etiquetado HTML dentro de nuestro
documento siendo estas etiquetas 'Heading', las mismas
de HTML
4
2
44. ¿QUE SE PUEDE HACER CON HTML E
IPYTHON?
Las celdas tipo "Markdown" pueden procesar algunas
etiquetas de HTML, lo cual nos permite beneficiarnos de
varias características de HTML como por ejemplo:
4
4
45. ¿QUE SE PUEDE HACER CON HTML E
IPYTHON?
Embeber paginas web dentro del documento:
URL de la página
4
5
46. ¿QUE SE PUEDE HACER CON HTML E
IPYTHON?
Embeber paginas web dentro del documento (resultado
esperado):
4
6
47. ¿QUE SE PUEDE HACER CON HTML E
IPYTHON?
Embeber videos de youtube:
URL del video
4
7
48. ¿QUE SE PUEDE HACER CON HTML E
IPYTHON?
Embeber videos de youtube (resultado esperado):
4
8
49. ¿QUE SE PUEDE HACER CON HTML E
IPYTHON?
Embeber videos guardados localmente:
Ubicación y nombre del
Archivo de video
4
9
50. ¿QUE SE PUEDE HACER CON HTML E
IPYTHON?
Embeber videos guardados localmente (resultado
esperado):
5
0
51. ¿QUE SE PUEDE HACER CON HTML E
IPYTHON? (NOTA IMPORTANTE)
NOTA IMPORTANTE: Algunos “tag” de HTML5, fallan
según el navegador, como por ejemplo el de video del
ejemplo anterior, por ejemplo es aconsejable probar el
notebook con varios navegadores, en el ejemplo anterior el
ejemplo falló con “firefox” y “chrome”, pero funcionó con
“Opera”
5
1
52. ¿QUE SE PUEDE HACER CON HTML E
IPYTHON?
Embeber audio alojado localmente:
Ubicación y nombre del
Archivo de Audio
5
2
53. ¿QUE SE PUEDE HACER CON HTML E
IPYTHON?
Embeber audio alojado localmente (resultado esperado):
5
3
54. ¿QUE PODEMOS HACER DENTRO
DEL NOTEBOOK?
Como hemos visto uno de los principales fuertes de
IPython es su Notebook, sin embargo hasta ahora hemos
visto que se puede correr código en tiempo real,
documentarlo y trabajar con etiquetado HTML.
Sin embargo también podemos mejorar el contenido de
nuestro notebook, por ejemple insertar ecuaciones o
trabajar con álgebra simbólica como se muestra a
continuación:
5
4
56. ¿QUE PODEMOS HACER DENTRO
DEL NOTEBOOK?
O incluso escribir ecuaciones en formato LaTex con celdas
'Markdown':
5
6
57. ¿QUE PODEMOS HACER DENTRO
DEL NOTEBOOK?
También podemos escribir ecuaciones en formato LaTex,
con las celdas de código, usando Python:
5
7
58. ¿QUE PODEMOS HACER DENTRO
DEL NOTEBOOK?
Otra característica muy útil es poder trabajar con gráficas
empleando Matplotlib, veremos dos formas de trabajar con
gráficas: la primera permite embeber la gráfica directamente
sobre el documento en el que estamos trabajando, antes de
hacer esto recordemos que lo podemos hacer en la consola
QT, llamándola desde el Notebook de la siguiente forma:
5
8
59. ¿QUE PODEMOS HACER DENTRO
DEL NOTEBOOK?
Ahora bien la primera forma de trabajar con gráficas dentro
del mismo Notebook es usando como 'backend' solo 'pylab'
ejecutando la siguiente celda:
5
9
60. ¿QUE PODEMOS HACER DENTRO
DEL NOTEBOOK?
Probemos con una gráfica de puntos aleatorios, lo cual
debería verse así:
6
0
61. ¿QUE PODEMOS HACER DENTRO
DEL NOTEBOOK?
La segunda forma es utilizando las librerías QT, ANTES de
ejecutar la siguiente linea debemos REINICIAR para NO
causar conflictos EN CASO de haber usado previamente
como 'backend' solamente 'pylab' (con la linea: '%pylab
inline'):
6
1
62. ¿QUE PODEMOS HACER DENTRO
DEL NOTEBOOK?
Si probamos con una gráfica debería abrirse una ventana
independiente al navegador:
6
2
63. ¿QUE PODEMOS HACER DENTRO
DEL NOTEBOOK?
Finalmente para concluir cabe señalar que podemos con
HTML como embeber imágenes (aveces falla y se debe
tener cuidado con que tipo de imagen es) con código:
6
3
67. SOBRE EL AUTOR Y EL CONTENIDO
A menos que se informe de otra manera esta obra está bajo una licencia de
Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.5
Colombia.
Diego Camilo Peña Ramírez
Bogotá, Colombia
Abril de 2013
Twitter: @nervencid
6
7