tutorial de ipython
TRANSCRIPT
-
7/23/2019 Tutorial de IPython
1/67
1
Universidad Nacional de
Colombia
Material de apoyo elaborado como apoyo a
la materia
Mtodos Numricos
Diego Camilo Pea Ramrez (docente)
Twitter:@nervencid
TUTORIAL DE IPYTHON
-
7/23/2019 Tutorial de IPython
2/67
2
CONTENIDO
INTROCUCCIN IPYTHON
INSTALACIN IPYTHON CONSOLA CARPETAS Y CONSOLA FUNCIONES MAGICAS (%magic) Y COMANDOS
ESPECIALES
CONSOLA QT NOTEBOOK
-
7/23/2019 Tutorial de IPython
3/67
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
-
7/23/2019 Tutorial de IPython
4/67
4
INTRODUCCINPython es una herramienta poderosa en el anlisisnumrico y ofrece , sin embargo muchas veces noparece ser muy amigable para quienes no tienen niidea de programacin.
Otra necesidad que nos incumbe, es la necesidad detener a mano todas las libreras necesarias paraanlisis numrico sin necesidad de padecerproblemas de compatibilidad o de versiones.
Como lograr esto?, la respuesta puede venir de elnavegador Web, y de la creciente tendencia deltrabajo colaborativo a travs de las tecnologas de lainformacin.
-
7/23/2019 Tutorial de IPython
5/67
5
IPython es un shell interactivoque aade funcionalidadesextra al modo interactivoincluido con Python, comoresaltado de lneas y errores
mediante colores, unasintaxis adicional para elshell, autocompletadomediante tabulador devariables, mdulos y
atributos; entre otrasfuncionalidades. Es uncomponente del paqueteSciPy.[1]
IPYTHON
-
7/23/2019 Tutorial de IPython
6/67
6
IPython viene siendo
desarrollado desde el ao2001 por el ColombianoFernando Prez, quien enMarzo de 2013 recibi elpremio de la Free Software
Foundation[2]
IPYTHON
-
7/23/2019 Tutorial de IPython
7/67
7
Las instrucciones de instalacin para los diferentes
entornos tanto Linux, MacOS o Windows puedenencontrarse en la pagina oficial de Ipython [3]:
http://ipython.org/install.html
INSTALACION IPYTHON
http://ipython.org/install.htmlhttp://ipython.org/install.html -
7/23/2019 Tutorial de IPython
8/67
8
La consola es la herramienta bsica de desarrollo deIPython es la primera interfaz de usuario con la que nosencontramos para iniciarla solo deberemos escribir, bien
sea en la linea de comandos de windows:
O la teminal de linux (o MacOS).
CONSOLA
-
7/23/2019 Tutorial de IPython
9/67
9
Apariencia en Windows (XP en este caso):
CONSOLA
-
7/23/2019 Tutorial de IPython
10/67
1
0
Apariencia en Linux:
CONSOLA
-
7/23/2019 Tutorial de IPython
11/67
1
1
Otra forma de iniciar en la consola IPython puede ser:
CONSOLA
Lo cual cambiara ligeramente la presentacin esttica delshell, esto con el propsito de poder diferenciar sesiones.
-
7/23/2019 Tutorial de IPython
12/67
1
2
Desde aqu ya podremos trabajar con la sintaxis dePython (Para este tutorial Python 3).
CONSOLA
-
7/23/2019 Tutorial de IPython
13/67
1
3
Podemos llamar la ayuda general de IPython de lasiguiente forma escribiendo en la linea de comandos:
CONSOLA
-
7/23/2019 Tutorial de IPython
14/67
1
4
Lo cual desplegara lo siguiente:
CONSOLA
-
7/23/2019 Tutorial de IPython
15/67
1
5
Tambin podemos pedir ayuda de cualquier funcin omtodo de IPython de forma similar, por ejemplo siqueremos obtener informacin de '%magic' lo podemoshacer as:
CONSOLA
-
7/23/2019 Tutorial de IPython
16/67
1
6
Tambin podemos llamar la ayuda rapida de IPython dela siguiente forma:
CONSOLA
-
7/23/2019 Tutorial de IPython
17/67
1
7
Lo cual desplegara lo siguiente:
CONSOLA
-
7/23/2019 Tutorial de IPython
18/67
1
8
Tambin podemos obtener ayuda de lo que creemosmientras vamos en marcha, por ejemplo si tenemos:
CONSOLA
-
7/23/2019 Tutorial de IPython
19/67
1
9
Podemos navegar en las carpetas con el comando 'cd' dela siguiente forma, por ejemplo:
CARPETAS Y CONSOLA
-
7/23/2019 Tutorial de IPython
20/67
2
0
Sin embargo la poltica de Ipython es que el lenguaje esteprimero, por lo cual 'cd', puede asignarse como una variableaunque esto har que no podamos usar el comando 'cd' :
CARPETAS Y CONSOLA
-
7/23/2019 Tutorial de IPython
21/67
2
1
Esto no es problema ya que podemos utilizar el comando'%cd' de la siguiente forma, por ejemplo:
CARPETAS Y CONSOLA
-
7/23/2019 Tutorial de IPython
22/67
2
2
Como ya habamos visto el comando '%cd' nos permitenavegar entre carpetas, ya aunque NO ES VALIDO en lasintaxis estndar de IPython, nos permiten controlarIPython como tal.
Por ejemplo si deseamos correr un archivo podemos usar'%run' de la siguiente forma, no olvidar ubicarse en lacarpeta que contiene dicho archivo (Ayudarse con la teclaTAB):
FUNCIONES MAGICAS (%magic) YCOMANDOS ESPECIALES
-
7/23/2019 Tutorial de IPython
23/67
2
3
Tambin podemos ver su cdigo fuente con el comando'%edit':
FUNCIONES MAGICAS (%magic) YCOMANDOS ESPECIALES
-
7/23/2019 Tutorial de IPython
24/67
2
4
IPython cuenta con otros comando especiales para hacerpruebas de red como '!ping':
FUNCIONES MAGICAS (%magic) YCOMANDOS ESPECIALES
-
7/23/2019 Tutorial de IPython
25/67
2
5
Con '%pwd' podemos saber en que directorio estamosactualmente:
FUNCIONES MAGICAS (%magic) YCOMANDOS ESPECIALES
-
7/23/2019 Tutorial de IPython
26/67
-
7/23/2019 Tutorial de IPython
27/67
2
7
Mas informacin sobre comandos especiales puede serconsultada aqu:
http://ipython.org/ipython-doc/dev/interactive/tutorial.html
FUNCIONES MAGICAS (%magic) YCOMANDOS ESPECIALES
http://ipython.org/ipython-doc/dev/interactive/tutorial.htmlhttp://ipython.org/ipython-doc/dev/interactive/tutorial.html -
7/23/2019 Tutorial de IPython
28/67
2
8
Otra herramienta til de IPython es la consola QT, la cualpuede ser desplegada si escribimos en el terminal o lineade comandos:
CONSOLA QT
-
7/23/2019 Tutorial de IPython
29/67
2
9
CONSOLA QT
-
7/23/2019 Tutorial de IPython
30/67
3
0
Con la linea anterior los comandos '--pylab' e 'inline' nospermite usar a 'pylab' como 'backend' y nos permitegenerar grficas en la misma consola, ademas de corregirde forma limitada cosa que no se puede hacer con la
'terminal' o la linea de comandos estndar
CONSOLA QT
-
7/23/2019 Tutorial de IPython
31/67
3
1
CONSOLA QT
-
7/23/2019 Tutorial de IPython
32/67
3
2
Con la linea anterior los comandos '--pylab' e 'inline' nospermite usar a 'pylab' como 'backend' y nos permitegenerar grficas en la misma consola, ademas de corregirde forma limitada cosa que no se puede hacer con la
'terminal' o la linea de comandos estndar
CONSOLA QT
-
7/23/2019 Tutorial de IPython
33/67
33
Para mas informacin podemos consultar aqu:
http://ipython.org/ipython-doc/dev/interactive/qtconsole.html
CONSOLA QT
http://ipython.org/ipython-doc/dev/interactive/qtconsole.htmlhttp://ipython.org/ipython-doc/dev/interactive/qtconsole.htmlhttp://ipython.org/ipython-doc/dev/interactive/qtconsole.htmlhttp://ipython.org/ipython-doc/dev/interactive/qtconsole.html -
7/23/2019 Tutorial de IPython
34/67
34
IPython no posee simplemente la consola, sino todo unentorno de desarrollo integrado mediante el cualpodemos escribir y correr cdigo, grficar, e inclusodocumentar sobre la marcha. Esto gracias al Notebook, elcual nos ofrece una interfaz de usuario amigable ycomoda para poder aprovechar mas eficientemente lascaracteristicas de IPython, podemos lanzar el Notebookdesde la 'terminal' de Linux (o MacOS) as:
O la linea de comandos de windows as:
NOTEBOOK
-
7/23/2019 Tutorial de IPython
35/67
35
Automticamente se debera abrir el navegador principal(Chrome, Firefox, Opera, etc...) y acceder a la interfaz
web del Notebook de Ipython.
NOTEBOOK
-
7/23/2019 Tutorial de IPython
36/67
36
NOTEBOOK
-
7/23/2019 Tutorial de IPython
37/67
37
NOTEBOOK
La direccin del localhost si corremosEl Notebook localmente
Directorio sobre el cual estaTrabajando el Notebook
Actualizar lista deNotebooks
Crear nuevoNotebook
Borrar o cerrar elNotebook
Lista deNotebooks
O OO
-
7/23/2019 Tutorial de IPython
38/67
38
Por defecto IPython trabaja en el 'home' del usuario si esLinux o en 'C:\Documents and Settings\Usuario' si esWindows. Tambien podemos lanzar el Notebook desdeuna carpeta en especifico como por ejemplo:'/home/diegonimus/IPython', de la siguiente forma o biennavegar en las carpetas del equipo con el comando '%cd'visto anteriormente:
NOTEBOOK
OJO!, Esto es la carpeta en la que se deseeTrabajar
NOTEBOOK
-
7/23/2019 Tutorial de IPython
39/67
39
Al crear un nuevo Notebook, nos toparemos con la
siguiente interfaz:
NOTEBOOK
Titulo del documento yLa ultima vez que fue guardado
Barra de Mens
Barra deHerramientas Celda
Tipo de laCelda seleccionada
NOTEBOOK
-
7/23/2019 Tutorial de IPython
40/67
40
Los comandos de la consola funcionan de igual forma enel Notebook, solo que podemos crear pequeosfragmentos (o cell) de codigo paralelamente adocumentacion y ejecutarlos en tiempo real bien seahaciendo click en "run cell" o por medio de teclado
mediante "Shift+Enter".
NOTEBOOK
NOTEBOOK
-
7/23/2019 Tutorial de IPython
41/67
41
NOTEBOOK
Run CellInterrupt
NOTEBOOK
-
7/23/2019 Tutorial de IPython
42/67
42
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 tambienpara documentar codigo que no deseemos que seejecute
Heading 1-6: Al ser un documento web, el Notebook nospermite embeber etiquetado HTML dentro de nuestrodocumento siendo estas etiquetas 'Heading', las mismasde HTML
NOTEBOOK
NOTEBOOK
-
7/23/2019 Tutorial de IPython
43/67
43
Para tener mas ayuda sobre los atajos de teclado , use
Ctrl+m+h
NOTEBOOK
QUE SE PUEDE HACER CON HTML E
-
7/23/2019 Tutorial de IPython
44/67
44
Las celdas tipo "Markdown" pueden procesar algunasetiquetas de HTML, lo cual nos permite beneficiarnos devarias caractersticas de HTML como por ejemplo:
QUE SE PUEDE HACER CON HTML EIPYTHON?
QUE SE PUEDE HACER CON HTML E
-
7/23/2019 Tutorial de IPython
45/67
45
Embeber paginas web dentro del documento:
QUE SE PUEDE HACER CON HTML EIPYTHON?
URL de la pgina
QUE SE PUEDE HACER CON HTML E
-
7/23/2019 Tutorial de IPython
46/67
46
Embeber paginas web dentro del documento (resultadoesperado):
QUE SE PUEDE HACER CON HTML EIPYTHON?
QUE SE PUEDE HACER CON HTML E
-
7/23/2019 Tutorial de IPython
47/67
47
Embeber videos de youtube:
QUE SE PUEDE HACER CON HTML EIPYTHON?
URL del video
QUE SE PUEDE HACER CON HTML E
-
7/23/2019 Tutorial de IPython
48/67
48
Embeber videos de youtube (resultado esperado):
QUE SE PUEDE HACER CON HTML EIPYTHON?
QUE SE PUEDE HACER CON HTML E
-
7/23/2019 Tutorial de IPython
49/67
49
Embeber videos guardados localmente:
QUE SE PUEDE HACER CON HTML EIPYTHON?
Ubicacin y nombre delArchivo de video
QUE SE PUEDE HACER CON HTML E
-
7/23/2019 Tutorial de IPython
50/67
50
Embeber videos guardados localmente (resultadoesperado):
QUE SE PUEDE HACER CON HTML EIPYTHON?
QUE SE PUEDE HACER CON HTML E
-
7/23/2019 Tutorial de IPython
51/67
51
NOTA IMPORTANTE: Algunos tag de HTML5, fallansegn el navegador, como por ejemplo el de video delejemplo anterior, por ejemplo es aconsejable probar elnotebook con varios navegadores, en el ejemplo anterior el
ejemplo fall con firefox y chrome, pero funcion conOpera
QUE SE PUEDE HACER CON HTML EIPYTHON? (NOTA IMPORTANTE)
QUE SE PUEDE HACER CON HTML E
-
7/23/2019 Tutorial de IPython
52/67
52
Embeber audio alojado localmente:
QUE SE PUEDE HACER CON HTML EIPYTHON?
Ubicacin y nombre delArchivo de Audio
QUE SE PUEDE HACER CON HTML E
-
7/23/2019 Tutorial de IPython
53/67
53
Embeber audio alojado localmente (resultado esperado):
QUE SE PUEDE HACER CON HTML EIPYTHON?
QUE PODEMOS HACER DENTRO
-
7/23/2019 Tutorial de IPython
54/67
54
Como hemos visto uno de los principales fuertes deIPython es su Notebook, sin embargo hasta ahora hemosvisto que se puede correr cdigo en tiempo real,
documentarlo y trabajar con etiquetado HTML.
Sin embargo tambin podemos mejorar el contenido denuestro notebook, por ejemple insertar ecuaciones otrabajar con lgebra simblica como se muestra acontinuacin:
QUE PODEMOS HACER DENTRODEL NOTEBOOK?
QUE PODEMOS HACER DENTRO
-
7/23/2019 Tutorial de IPython
55/67
55
QUE PODEMOS HACER DENTRODEL NOTEBOOK?
QUE PODEMOS HACER DENTRO
-
7/23/2019 Tutorial de IPython
56/67
56
QUE PODEMOS HACER DENTRODEL NOTEBOOK?
O incluso escribir ecuaciones en formato LaTex con celdas'Markdown':
QUE PODEMOS HACER DENTRO
-
7/23/2019 Tutorial de IPython
57/67
5
7
QUE PODEMOS HACER DENTRODEL NOTEBOOK?
Tambin podemos escribir ecuaciones en formato LaTex,con las celdas de cdigo, usando Python:
QUE PODEMOS HACER DENTRO
-
7/23/2019 Tutorial de IPython
58/67
5
8
QUE PODEMOS HACER DENTRODEL NOTEBOOK?
Otra caracterstica muy til es poder trabajar con grficasempleando Matplotlib, veremos dos formas de trabajar congrficas: la primera permite embeber la grfica directamentesobre el documento en el que estamos trabajando, antes de
hacer esto recordemos que lo podemos hacer en la consolaQT, llamndola desde el Notebook de la siguiente forma:
QUE PODEMOS HACER DENTRO
-
7/23/2019 Tutorial de IPython
59/67
5
9
QUE PODEMOS HACER DENTRODEL NOTEBOOK?
Ahora bien la primera forma de trabajar con grficas dentrodel mismo Notebook es usando como 'backend' solo 'pylab'ejecutando la siguiente celda:
QUE PODEMOS HACER DENTRO
-
7/23/2019 Tutorial de IPython
60/67
6
0
QUE PODEMOS HACER DENTRODEL NOTEBOOK?
Probemos con una grfica de puntos aleatorios, lo cualdebera verse as:
QUE PODEMOS HACER DENTRO
-
7/23/2019 Tutorial de IPython
61/67
6
1
QDEL NOTEBOOK?
La segunda forma es utilizando las libreras QT, ANTES deejecutar la siguiente linea debemos REINICIAR para NOcausar conflictos EN CASO de haber usado previamentecomo 'backend' solamente 'pylab' (con la linea: '%pylab
inline'):
QUE PODEMOS HACER DENTRO
-
7/23/2019 Tutorial de IPython
62/67
6
2
QDEL NOTEBOOK?
Si probamos con una grfica debera abrirse una ventanaindependiente al navegador:
QUE PODEMOS HACER DENTRO
-
7/23/2019 Tutorial de IPython
63/67
6
3
QDEL NOTEBOOK?
Finalmente para concluir cabe sealar que podemos conHTML como embeber imgenes (aveces falla y se debetener cuidado con que tipo de imagen es) con cdigo:
QUE PODEMOS HACER DENTRO
-
7/23/2019 Tutorial de IPython
64/67
6
4
QDEL NOTEBOOK?
QUE PODEMOS HACER DENTRO
-
7/23/2019 Tutorial de IPython
65/67
6
5
QDEL NOTEBOOK?
O incluso video, bien sea de youtube:
BIBLIOGRAFIA
-
7/23/2019 Tutorial de IPython
66/67
6
6
BIBLIOGRAFIA
[1] http://es.wikipedia.org/wiki/IPython[2] http://fperez.org/[3] http://ipython.org/install.html[4] http://ipython.org/videos.html[5] http://ipython.org/documentation.html[6] http://ipython.org/ipython-doc/rel-0.13.1/index.html[7] http://nbviewer.ipython.org/[8]https://github.com/ipython/ipython/wiki/A-gallery-of-interes
ting-IPython-Notebooks
SOBRE EL AUTOR Y EL CONTENIDO
http://es.wikipedia.org/wiki/IPythonhttp://fperez.org/http://ipython.org/install.htmlhttp://ipython.org/videos.htmlhttp://ipython.org/documentation.htmlhttp://ipython.org/ipython-doc/rel-0.13.1/index.htmlhttp://nbviewer.ipython.org/https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebookshttps://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebookshttps://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebookshttps://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebookshttp://nbviewer.ipython.org/http://ipython.org/ipython-doc/rel-0.13.1/index.htmlhttp://ipython.org/documentation.htmlhttp://ipython.org/videos.htmlhttp://ipython.org/install.htmlhttp://fperez.org/http://es.wikipedia.org/wiki/IPython -
7/23/2019 Tutorial de IPython
67/67
6
7
A menos que se informe de otra manera esta obra est bajo una licencia deCreative Commons Reconocimiento-NoComercial-CompartirIgual 2.5
Colombia.
Diego Camilo Pea Ramrez
Bogot, Colombia
Abril de 2013
Twitter: @nervencid