1. Configuración de recursos computacionales

En esta sección configurarás un entorno de computación en Python para computación científica en tu propio computador y también aprenderás un poco sobre Google Colab, un servicio en la nube para ejecutar notebooks de Jupyter.

Es ventajoso aprender a configurar una distribución de Python y gestionar paquetes en tu propio equipo, ya que cada persona puede tener diferentes necesidades. Dicho esto, Google Colab es un recurso gratuito muy útil para ejecutar notebooks de Jupyter en los computadores de Google sin necesidad de instalaciones locales.

1.1. Configuración de Google Colab

Para usar Google Colab, debes tener una cuenta de Google. Muchos de ustedes probablemente tienen una cuenta personal de Google, generalmente creada para cosas como GMail, YouTube, etc. Para tu trabajo en este curso, usa tu cuenta de la UAI. Esto facilitará la colaboración con tus compañeros y con el personal del curso.

Muchos probablemente usan su cuenta personal de Google en su computador, por lo que puede ser molesto iniciar y cerrar sesión. Un truco útil es usar un navegador, por ejemplo, Safari o Microsoft Edge, para tu uso personal y navegación web, y otro navegador diferente para tu trabajo científico, incluyendo el trabajo de este curso. Google Colab está más probado en Chrome, Firefox y Safari (de hecho, JupyterLab, que usarás en tu propio computador, solo soporta estos tres navegadores).

Una vez que hayas cerrado sesión en todas tus cuentas personales o tengas un navegador diferente abierto, puedes abrir un notebook de Colab simplemente navegando a https://colab.research.google.com/. Alternativamente, puedes hacer clic en el botón «Launch in Colab» en la parte superior derecha de esta página, y se abrirá este notebook en Colab. Ese botón aparecerá en la parte superior derecha de todas las páginas del contenido del curso generado desde notebooks.

1.1.1. Advertencias al usar Colab

Si ejecutas un notebook en Colab, estás haciendo tus cálculos en uno de los computadores de Google mediante una máquina virtual. Obtienes dos núcleos de CPU y una cantidad limitada (alrededor de 12 GB, pero varía) de RAM. También puedes obtener GPUs y TPUs (unidades de procesamiento tensorial de Google), pero no las usaremos en este curso. Los recursos computacionales deberían ser suficientes para todos nuestros cálculos este semestre (aunque necesitarás más potencia en la continuación de este curso). Sin embargo, hay algunas limitaciones que debes conocer.

  • Si tu notebook está inactivo por mucho tiempo, te desconectarás. «Inactivo» significa que no se están editando ni ejecutando celdas. El tiempo de espera varía según la carga de los computadores de Google; casi siempre me desconecto si estoy inactivo por una hora.

  • Tu máquina virtual se desconectará si se usa por demasiado tiempo. Normalmente solo estará disponible por 12 horas antes de desconectarse, aunque los tiempos pueden variar, nuevamente según la carga.

Estas limitaciones existen para que Google pueda ofrecer Colab de forma gratuita. Si quieres más núcleos, tiempos de espera más largos, etc., puedes revisar Colab Pro. Sin embargo, la versión gratuita debería funcionar bien para este curso. Por supuesto, siempre puedes trabajar en tu propio computador, y de hecho se recomienda hacerlo.

Recomiendo leer las Preguntas frecuentes de Colab para más información sobre Colab.

1.1.2. Software en Colab

Cuando abres un notebook en Google Colab, gran parte del software que usaremos en clase ya está instalado. Sin embargo, no siempre es la versión más reciente. De hecho, en julio de 2024, Colab ejecuta Python 3.10, mientras que en tu computador usarás Python 3.12 a través de tu instalación de Anaconda. No obstante, la mayoría (pero no todas) de los análisis que haremos funcionarán bien en Colab. Haremos todo lo posible para avisarte cuando Colab no pueda manejar alguna actividad, siendo el ejemplo más importante algunas aplicaciones de dashboard.

Como los notebooks en Colab tienen software preinstalado, y nada más, a menudo necesitarás instalar software antes de ejecutar el resto del código en un notebook.

1.1.3. Colaborando con Colab

Si quieres colaborar con otro estudiante o con el personal del curso en un notebook, puedes hacer clic en «Share» en la esquina superior derecha de la ventana de Colab y elegir con quién y cómo compartir (los valores por defecto están bien).

Cuando hablemos de Git en una lección futura, discutiremos el soporte de Colab para GitHub, que será necesario para el control de versiones y para enviar y compartir tus tareas.

1.2. Instalación en tu propio computador

Ahora procederemos a discutir la instalación del software necesario en tu propio equipo.

1.3. Descargar e instalar Anaconda

Si ya tienes Anaconda instalado en tu computador, puedes saltarte este paso y proceder a instalar node.js.

Para descargar e instalar Anaconda, sigue estos pasos según tu sistema operativo.

1.3.1. Windows

  1. Ve a la página oficial de descargas de Anaconda. Puedes saltarte el registro presionando en Skip registration

  2. Haz clic en el botón de descarga para Windows (elige la versión recomendada para tu sistema, normalmente de 64 bits).

  3. Una vez descargado el instalador, haz doble clic en el archivo .exe para iniciar la instalación.

  4. Sigue las instrucciones del instalador. Se recomienda dejar las opciones por defecto.

  5. Cuando la instalación termine, puedes buscar «Anaconda Navigator» o «Anaconda Prompt» en el menú Inicio para comenzar a usar Anaconda.

1.3.2. macOS

  1. Ve a la página oficial de descargas de Anaconda. Puedes saltarte el registro presionando en Skip registration

  2. Haz clic en el botón de descarga para macOS (elige la versión recomendada para tu sistema, Apple Silicon o Intel según corresponda).

  3. Una vez descargado el archivo .pkg, haz doble clic para iniciar la instalación.

  4. Sigue las instrucciones del instalador. Se recomienda dejar las opciones por defecto.

  5. Cuando la instalación termine, puedes buscar «Anaconda Navigator» o abrir una Terminal y escribir anaconda-navigator o conda para comenzar a usar Anaconda.

1.3.3. Linux

  1. Ve a la página oficial de descargas de Anaconda. Puedes saltarte el registro presionando en Skip registration.

  2. Descarga el instalador para Linux (archivo .sh).

  3. Abre una terminal y navega a la carpeta donde descargaste el archivo.

  4. Ejecuta el siguiente comando para iniciar la instalación:

    bash Anaconda3-*.sh
    

    (Reemplaza Anaconda3-*.sh por el nombre exacto del archivo descargado.)

  5. Sigue las instrucciones en pantalla. Se recomienda dejar las opciones por defecto.

  6. Cuando la instalación termine, puedes iniciar Anaconda escribiendo anaconda-navigator o conda en la terminal.

1.4. Configuración de un entorno conda

He creado un entorno conda para usar en este curso. Puedes descargar el archivo YML de especificación del entorno en el siguiente enlace (puede que necesites hacer clic derecho y luego descargar).

Descargar min431.yml (hacer click derecho y «Guardar enlace como…»)

Puedes configurar y activar el entorno desde la línea de comandos. (Por «línea de comandos» me refiero a un prompt en una ventana de PowerShell o terminal). Navega al directorio donde guardaste el archivo bebi103.yml. (Por ejemplo, si está en un directorio llamado Descargas en tu carpeta personal, deberías hacer cd ~/Descargas en la línea de comandos para ir allí). Luego, en la línea de comandos, escribe

conda env create -f min431.yml

Esto debería crear el entorno para ti (puede tardar varios minutos). Para activarlo, escribe

conda activate min431

en la línea de comandos.

1.5. Ejecutando JupyterLab

Puedes ejecutar JupyterLab desde el programa de terminal de tu sistema operativo (Terminal en macOS y PowerShell en Windows). Si estás en Mac, abre el programa Terminal. Puedes hacerlo presionando Command + espacio y buscando «terminal». En Windows, debes el programa Anaconda Prompt (Anaconda3)

Una vez que tengas una ventana de terminal abierta, tendrás un prompt. En el prompt, escribe

conda activate min431

Esto asegurará que estás usando el entorno min431 que acabas de crear.

Debes asegurarte de estar usando el entorno min431 cada vez que ejecutes JupyterLab, así que debes hacer conda activate min431 cada vez que abras una terminal.

Ahora que has activado el entorno min431, puedes ejecutar JupyterLab escribiendo

jupyter lab

en la línea de comandos. Tendrás una instancia de JupyterLab ejecutándose en tu navegador por defecto. Si quieres especificar el navegador, puedes, por ejemplo, escribir

jupyter lab --browser=firefox

en la línea de comandos.

1.6. Verificando tu instalación

Ahora haremos una prueba rápida para asegurarnos de que todo funciona correctamente. Haremos un gráfico rápido que requiere algunas de las librerías científicas que usaremos.

Abre JupyterLab (puedes obtener un nueva instancia haciendo clic en el ícono + en el panel izquierdo de JupyterLab) para abrir un notebook. En la primera celda (la caja junto al prompt [ ]:), pega el siguiente código. Para ejecutarlo, presiona Shift+Enter mientras el cursor está dentro de la celda. Deberías ver un gráfico como el que aparece abajo. Si lo ves, ¡tienes un entorno de Python funcional para computación científica!

También puedes probar esto en Colab (y debería funcionar sin problemas).

[1]:
import numpy as np
import bokeh.plotting
import bokeh.io

bokeh.io.output_notebook()

# Generar valores para graficar
t = np.linspace(0, 2*np.pi, 200)
x = 16 * np.sin(t)**3
y = 13 * np.cos(t) - 5 * np.cos(2*t) - 2 * np.cos(3*t) - np.cos(4*t)

p = bokeh.plotting.figure(height=250, width=275)
p.line(x, y, color='red', line_width=3)
text = bokeh.models.Label(x=0, y=0, text='Min 431', text_align='center')
p.add_layout(text)

bokeh.io.show(p)
Loading BokehJS ...