Ejecutar y salir
Resumen
Enseñando: 15 min
Ejercicios: 0 minPreguntas
¿Cómo puedo ejecutar programas de Python?
Objectivos
Iniciar el servidor JupyterLab.
Crear un nuevo script de Python.
Crear un cuaderno de Jupyter.
Apagar el servidor JupyterLab.
Entender la diferencia entre un script de Python y un cuaderno de Jupyter.
Crear celdas Markdown en un cuaderno.
Crear y ejecutar celdas Python en un Cuaderno.
Comenzando con JupyterLab
Mientras que muchos desarrolladores de software a menudo utilizan un entorno de desarrollo integrado (IDE) o un editor de texto para crear y editar sus programas Python, usaremos [JupyterLab][jupyterlab] durante esta lección.
JupyterLab es una aplicación con una interfaz de usuario basada en web del Proyecto Jupyter que permite trabajar con documentos y actividades como cuadernos Jupyter, editores de texto, terminales, e incluso componentes personalizados de manera flexible, integrada y extensible. JupyterLab requiere un navegador razonablemente actualizado (idealmente una versión actual de Chrome, Safari o Firefox); Internet Explorer 9 y versiones anteriores no son compatibles.
JupyterLab se incluye como parte de la distribución de Python Anaconda. Si aún no tienes instalada la distribución de Python de Anaconda, consulta las instrucciones de configuración para las instrucciones de instalación.
Aunque JupyterLab es una aplicación vía web, JupyterLab se ejecuta localmente en tu máquina y no requiere una conexión a internet.
- El servidor JupyterLab envía mensajes a tu navegador web.
- El servidor JupyterLab hace el trabajo y el navegador web muestra el resultado.
- Escribirás el código en el navegador y verás el resultado cuando la página web hable con el servidor JupyterLab.
¿JupyterLab? ¿Qué pasa con los Cuadernos de Jupyter?
JupyterLab es el siguiente nivel en la evolución de Jupyter Notebook. Si tienes experiencia trabajando con cuadernos de Jupyter, entonces tendrás una buena idea de qué esperar de JupyterLab.
Usuarios experimentados con cuadernos de Jupyter interesados en una discusión más detallada de las similitudes y diferencias entre las interfaces de usuario de JupyterLab y cuadernos de Jupyter puede encontrar más información en la documentación de la interfaz de usuario de JupyterLab.
Iniciando con JupyterLab
Mac OS X
Para iniciar el servidor JupyterLab, deberás acceder a la línea de comandos a través de la Terminal. Hay dos formas de abrir Terminal en Mac.
- En tu carpeta de Aplicaciones, abre Utilidades y haz doble clic en Terminal
- Presiona Command + barra espaciadora para lanzar Spotlight. Digita
Terminal
y entonces haz doble clic en el resultado de la búsqueda o presiona Enter
Después de iniciar Terminal, escriba el comando para iniciar el servidor JupyterLab.
$ jupyter lab
Usuarios Windows
Para iniciar el servidor JupyterLab, necesitará acceder al Prompt de Anaconda.
Presiona la Tecla del logotipo de Windows y busca Anaconda Prompt
, haz clic en el resultado o presiona enter.
Después de haber accedido al Prompt de Anaconda, escribe el comando:
$ jupyter lab
A continuación se muestra una captura de pantalla de JupyterLab similar a la que se debería abrir en tu navegador web predeterminado después de iniciar el servidor JupyterLab en Mac OS X o Windows.
La Interfaz de JupyterLab
JupyterLab tiene muchas características que se encuentran en los entornos de desarrollo integrado (IDE) tradicionales pero se centra en proporcionar bloques de construcción flexibles para la computación interactiva y exploratoria.
La Interfaz JupyterLab consiste en la barra de menú, una barra lateral izquierda plegable y el área de trabajo principal que contiene pestañas de documentos y actividades.
Barra de Menu
La Barra de Menú en la parte superior de JupyterLab tiene menús de nivel superior que exponen varias acciones disponibles en JupyterLab junto con sus atajos de teclado (cuando existen). Los siguientes menús están incluidos por defecto.
- File: Acciones relacionadas con archivos y directorios tales como: New (Nuevo), Open (Abrir), Close (Cerrar), Save (Guardar), etc. El menú File también incluye la acción Quit (Parar) usada para apagar el servidor JupyterLab.
- Edit: Acciones relacionadas con edición de documentos y otras actividades como Undo (Deshacer), Cut (Cortar), Copy (Cortar), Paste (Pegar), etc.
- View: Acciones que alteran la apariencia de JupyterLab.
- Run: Acciones para ejecutar código en diferentes actividades tales como cuadernos y consolas de código (discutidas abajo).
- Kernel: Acciones para manejo de núcleos los cuales, como mencionamos arriba, son procesos separados para ejecutar código.
- Tabs: Una lista de los documentos y actividades abiertos en el área de trabajo.
- Settings: Las configuraciones comunes de JupyterLab se pueden configurar usando este menú. También hay una opción Advanced Settings Editor en el menú desplegable que proporciona un control más detallado de la configuración de JupyterLab y las opciones de configuración.
- Help: Una lista de enlaces de ayuda de JupyterLab y del kernel.
A continuación se muestra una captura de pantalla de la barra de menús predeterminada.
Barra lateral izquierda
La barra lateral izquierda contiene varias pestañas de uso común, como un explorador de archivos (que muestra el contenido del directorio en el que se lanzó el servidor JupyterLab), una lista de núcleos en ejecución y terminales, la paleta de comandos y una lista de pestañas abiertas en el área de trabajo principal. Una captura de pantalla de la barra lateral izquierda predeterminada se muestra a continuación.
La barra lateral izquierda se puede contraer o expandir seleccionando “Show Left Sidebar” en el menú View o haciendo clic en la pestaña de la barra lateral activa.
Área principal de Trabajo
El área de trabajo principal en JupyterLab permite organizar documentos (cuadernos, archivos de texto, etc.) y otras actividades (terminales, consolas de códigos, etc.) en paneles de pestañas que pueden redimensionarse o subdividirse. A continuación se muestra una captura de pantalla de la barra de menús predeterminada.
Arrastra una pestaña al centro de un panel de pestañas para mover la pestaña al panel. Subdivide un panel de pestañas arrastrando una pestaña a la izquierda, derecha, arriba o abajo del panel. El área de trabajo tiene una sola actividad actual. La pestaña de la actividad actual está marcada con un borde superior de color (azul por defecto).
Creando un script Python
- Para comenzar a escribir un nuevo programa de Python, haz clic en el icono Text File bajo el encabezado Other en la pestaña Iniciador del Área de trabajo principal.
- También puedes crear un nuevo archivo de texto sin formato seleccionando New -> Text File en el menú File en la barra de menú.
- Para convertir este archivo de texto sin formato a un programa de Python, selecciona la opción Save File As del menú File en la barra de menú y asigna a tu nuevo archivo de texto un nombre que termine con la extensión
.py
.- La extensión
.py
les permite a todos (incluido el sistema operativo) saber que este archivo de texto es un programa de Python. - Esta es una convención, no un requisito.
- La extensión
Creando un cuaderno de Jupyter
Para abrir un Cuaderno nuevo, haga clic en el icono de Python 3 debajo del encabezado Notebook en la pestaña Launcher en el área principal de trabajo. También puede crear un Cuaderno nuevo seleccionando New -> Notebook desde el menú File en la Barra de menú.
Notas adicionales sobre los cuadernos de Jupyter.
- Los cuadernos de Jupyter tienen la extensión
.ipynb
para distinguirlos de los programas Python de texto plano. - Los cuadernos pueden ser exportados como scripts de Python que pueden ser ejecutados desde la línea de comandos.
A continuación se muestra una captura de pantalla de un cuaderno de Jupyter que se ejecuta dentro de JupyterLab. Si estás interesada en más detalles, mira la documentación oficial sobre los cuadernos.
Cómo se almacenan
- Los cuadernos son almacenados en un formato llamado JSON.
- Justo como una página web, lo que se guarda se ve diferente a lo que se ve en el navegador.
- Pero este formato permite a Jupyter mezclar código fuente, texto e imágenes, todo en un sólo archivo.
Organizando documentos en paneles de pestañas
En el Área de trabajo principal de JupyterLab puedes organizar documentos en paneles de pestañas. Aquí hay un ejemplo de la [documentación oficial][jupyterlab].
Primero, crea un archivo de texto, una consola de Python y una ventana de terminal y luego organízalas en tres paneles en el área de trabajo principal. A continuación, crea un cuaderno, una ventana de terminal y un archivo de texto y luego, organízalas en tres paneles en el área de trabajo principal. Finalmente, crea tu propia combinación de paneles y pestañas. ¿Qué combinación de paneles y pestañas crees que será más útil para tu flujo de trabajo?
Solución
Después de crear las pestañas necesarias, puedes arrastrar una de las pestañas al centro de un panel para mover la pestaña al panel; a continuación, puedes subdividir un panel de pestañas arrastrando una pestaña hacia la izquierda, derecha, arriba o bajo del panel.
Usa el Cuaderno de Jupyter para editar y ejecutar Python.
- Si bien es común escribir scripts de Python usando un editor de texto, vamos a usar el Jupyter Notebook para el resto de este taller.
- Esto tiene varias ventajas:
- Puedes escribir, editar y copiar y pegar fácilmente bloques de código.
- Autocompletar (con el tabulador) permite acceder fácilmente a los nombres de las cosas que estás utilizando y aprender más sobre ellos
- Esto te permite anotar tu código con enlaces, texto de diferentes tamaños, viñetas, etc. para que sea más accesible para ti y tus colaboradores.
- Esto te permite mostrar figuras al lado del código que las produce para contar una historia completa del análisis.
- Cada cuaderno contiene una o más celdas que contienen código, texto o imágenes.
Código vs. Texto
Jupyter mezcla código y texto en diferentes tipos de bloques, llamados celdas. A menudo usamos el término “código” que significa “el código fuente del software escrito en un lenguaje como Python”. Una “celda de código” en una cuaderno es una celda que contiene software; una “celda de texto” es una que contiene a prosa ordinaria escrita para seres humanos.
Los cuadernos tienen modos Comandos y Edición.
- Si presionas Esc y Return alternadamente, el borde exterior de tu celda de código cambiará de gris a azul.
- Estos son los modos Comando (gris) y Edición (azul) de tu cuaderno.
- El modo de comando te permite editar características a nivel de tu cuaderno, y el modo Editar cambia el contenido de las celdas.
- Cuando está en modo Comando (esc/gris),
- La tecla b creará una nueva celda debajo de la celda seleccionada actualmente.
- La tecla a creará una arriba.
- La tecla x borrará la actual celda.
- La tecla z deshará su última operación de celda (que podría ser una eliminación, creación, etc.).
- Todas las acciones se pueden hacer usando los menús, pero hay muchos atajos de teclado para acelerar las cosas.
Comando Vs. Editar
En la página de un Cuaderno de Jupyter, ¿estás actualmente en modo de comando o edición?
Intercambia entre modos. Usa los atajos para generar una nueva celda. Usa los atajos para borrar una celda Usa los atajos para deshacer la última operación de celda que realizaste.Solución
El modo de comando tiene un borde gris y el modo de edición tiene un borde azul. Usa Esc y Return para intercambiar modos Necesitas estar en modo comando (Presiona Esc si tu celda esta en azul). Teclea b o a. Necesitas estar en modo comando (Presiona Esc si tu celda es azul). Teclea x. Necesitas estar en modo comando (Presiona Esc si tu celda es azul). Teclea z.
Usa el teclado y el ratón para seleccionar y editar celdas.
- Presiona la tecla Return convierte el borde en azul y activa el modo Edición, que te permite escribir dentro de la celda.
- Debido a que queremos poder escribir muchas líneas de código en una sola celda, presiona la tecla Return cuando está en modo Edición (azul) mueve el cursor a la siguiente línea en la celda al igual que en un editor de texto.
- Necesitamos otra forma de decirle al cuaderno que queremos ejecutar lo que hay en la celda.
- Presiona Shift+Return juntos para ejecutar el contenido de la celda.
- Ten en cuenta que Return y Shift a la derecha del teclado están una al lado de la otra.
El Cuaderno convertirá Markdown en documentación con formato.
- Los cuadernos también pueden mostrar Markdown.
- Un formato de texto plano simple para escribir listas, enlaces, y otras cosas que pueden ir en una página web.
- De manera equivalente, un subconjunto de HTML que se parece a lo que enviarías en un correo electrónico antiguo.
- Convierte la celda actual en una celda Markdown ingresando el modo Comando (Esc/gris) y presiona la tecla M.
In [ ]:
desaparecerá para mostrar que ya no es una celda de código y podrás escribir Markdown.- Convierte la celda actual en una celda de Código ingresando el modo Comando (Esc/gris) y presiona la tecla y.
Markdown hace la mayor parte de lo que hace HTML.
* Usa asteriscos
* para crear
* listas de viñetas.
- Usa asteriscos
- para crear
- listas de viñetas.
1. Usa números
1. para crear
1. listas numeradas.
- Usa números
- para crear
- listas numeradas.
* Puedes usar sangrías
* Para crear sublistas
* del mismo tipo
* O sublistas
1. de diferentes
1. tipos
- Puedes usar sangrías
- Para crear sublistas
- del mismo tipo
- O sublistas
- de diferentes
- tipos
# Un título de nivel-1
Un título de nivel-1
## Un título de nivel-2 (etc.)
Un título de nivel-2 (etc.)
Los saltos de línea
no importan.
Pero líneas en blanco
crean párrafos nuevos.
Los saltos de línea no importan.
Pero líneas en blanco crean párrafos nuevos.
[Crea enlaces](http://software-carpentry.org) con `[...](...)`.
O usa el [nombre del enlace][data_carpentry].
[data_carpentry]: http://datacarpentry.org
Crea enlaces con [...](...)
.
O usa el nombre del enlace.
Creando listas en Markdown
Crea una lista anidada en una celda Markdown en un cuaderno que tenga este aspecto:
- Obtener fondos
- Hacer el trabajo.
- Diseñar experimento.
- Recolectar datos.
- Analizar.
- Escribir.
- Publicar.
Solución
Este desafío integra tanto la lista numerada como la lista de viñetas. Ten en cuenta que la lista de viñetas tiene sangría de 2 espacios para que esté en línea con los elementos de la lista numerada.
1. Obtener fondos. 2. Hacer el trabajo. * Diseñar experimento. * Recolectar datos. * Analizar. 3. Escribir. 4. Publicar.
Más matemáticas
¿Qué se muestra cuando se ejecuta una celda de Python en un cuaderno que contiene varios cálculos? Por ejemplo, ¿qué sucede cuando esta celda es ejecutada?
7 * 3 2 + 1
Solución
Python devuelve la salida del último cálculo.
3
Cambiar una celda existente de código a Markdown
¿Qué sucede si escribes algo de Python en una celda de código y luego lo cambias a una celda Markdown? Por ejemplo, pon lo siguiente en una celda de código:
x = 6 * 7 + 12 print(x)
Y entonces corre con Shift+Return Para estar seguro de que funciona como una celda de código. Ahora vuelve a la celda y usaEsc entonces m para cambiar la celda a Markdown y “corre” esto con Shift+Return. ¿Qué pasó y cómo podría ser útil?
Solución
El código de Python se trata como texto de Markdown. Las líneas aparecen como si fueran parte de un párrafo contiguo. Esto podría ser útil para activar y desactivar temporalmente las celdas en los cuadernos que se utilizan para múltiples propósitos.
x = 6 * 7 + 12 print(x)
Ecuaciones
Markdown estándar (como el que estamos usando para estas notas) no mostrará ecuaciones, pero el Cuaderno lo hará. Crea una nueva celda Markdown e introduce lo siguiente:
$\sum_{i=1}^{N} 2^{-i} \approx 1$
(Probablemente sea más fácil copiar y pegar.) ¿Qué muestra? ¿Qué piensas que hace el subguión,
_
, circunflejo,^
, y el signo de dólar,$
?Solución
El cuaderno muestra la ecuación tal como se representaría a partir de la sintaxis de ecuación de LaTeX. El signo de dólar,
$
, se usa para indicarle a Markdown que el texto intermedio es una ecuación de LaTeX. Si no está familiarizado con LaTeX, el guion bajo,_
, se usa para subíndices y el circunflejo,^
, se usa para superíndices. Se usa un par de llaves,{
y}
, para agrupar el texto de manera que la declaracióni=1
se convierta en el subíndice yN
se convierta en el superíndice. Similarmente,-i
está entre llaves para hacer que toda la declaración sea el superíndice de2
.\sum
y\approx
son comandos LaTeX para símbolos de “suma” y “aproximado”.
Cerrando JupyterLab
- En la barra de menú, selecciona el menú “File” y elige “Quit” en la parte inferior del menú desplegable. Se te pedirá que confirmes que deseas cerrar el servidor JupyterLab (¡no olvides guardar tu trabajo!). Haz clic en “Confirm” para cerrar el servidor JupyterLab.
- Para reiniciar el servidor JupyterLab, deberás volver a ejecutar el siguiente comando desde una terminal.
$ jupyter lab
Cerrando JupyerLab
Practica cerrar y reiniciar el servidor JupyterLab.
[workshop-repo]: [yaml]: http://yaml.org/
Puntos Clave
Los scripts de Python son archivos de texto plano.
Usar un cuaderno Jypiter para editar y correr Python.
El Cuaderno tiene modos de Comandos y Edición.
Usa el teclado y el ratón para seleccionar y editar celdas.
El Cuaderno convertirá Markdown en texto con formato.
Markdown hace la mayor parte de lo que hace HTML.