Curso Nbdev
Introducción

Instalación – Curso nbdev

Author
Affiliation
Published

Invalid Date

Instalación

Para hacer uso de nbdev es necesario los siguientes softwares:

  • Python (Python o conda)
  • Jupyter Notebooks
  • Quarto
  • Github
  • nbdev

Instalación Anaconda (conda) (Tema 2.1)

Anaconda es una empresa la cual desarrollo un manejador de ambientes virtuales con un manejador de paquetes (conda), éste nos permite la creación de ambientes virtuales. Dentro de dichos ambientes se puede hacer un manejo eficiente de los diferentes softwares instalados dentro del ambiente virtual y las dependencias de los mismos. Al tener un manejo eficiente de las paqueterias y las dependencias dentro de este se hace más fácil la creación de ambientes de desarrollo.

De esta forma algo instalado dentro de un ambiente virtual no afectara a las distintas paqueterias que se encuentran fuera del ambiente virtual. Lo cual nos permite tener tener aislado un ambiente de desarrollo con respecto al sistema operativo u otro ambiente de desarrollo.

Para la instalación de conda lo más sencillo es seguir el este manual aquí sólo se hace un esbozo de la instalación.

  1. Bajar el instalador:

  2. Verificar que se ha bajano correctamente (ver ).

  3. Hacer doble click en el archivo .exe (similar a Anaconda3-######-Windows-x86_64.exe). Para la instalación en Linux o Mac se debe de bajar el archivo Anaconda3-####-Linux-###.sh o bien el Anaconda3-####-MACOSX-###.sh y ejecutar el archivo usando la terminal.

  4. Seguir las instrucciones en la pantalla en caso de windows. Y seguir la instrucciones que apareceran en caso del uso de la terminal.

  5. Para probar la instalación abra la terminal de windows (cmd) o el anaconda prompt y corra el comando conda list. Una lista de paquetes aparecera si se instaló de forma correcta.

Hacer un ambiente virtual

Para generar un ambiente virtual usando anaconda se puede hacer a través de la terminal. En caso de windows se puede hacer llamando a Anaconda Prompt.

Dentro de la terminal se puede observar que antes del símbolo del sistema aparece la leyenda (base) esta no indica que estamos usando el ambiente virtual base.

Para crear un nuevo ambiente virtual se ejecuta la siguiente linea en la linea de comandos.

conda create -n desarrollo

Este comando crea un nuevo ambiente virtual llamano desarrollo. Se puede especificar la versión de python a instalar dentro del ambiente virtual. También es posible instalar otros lenguajes de programación dentro del ambiente virtual cono son R o Julia.

Para entrar al ambiente virtual la forma de hacerlo es ejecutar

conda activate desarrollo

Al ejecutar el comando se puede observar que la leyenda (base) fue sustituida por la leyenda (desarrollo) lo cual nos indica que hemos activado nuestro ambiente virtual.

Canales

Dentro de nuestro ambiente virtual podemos instalar las distintas bibliotecas y paquetes que sean necesarios. Por defecto Anaconda tiene un canal para poner a la disposición de la comunidad, que utiliza conda, muchos paquetes. Anaconda es la encargada de verificar que el el desarrollo de dichos paquetes sean de acuerdo a las mismas reglas establecidas por Anaconda. De la misma forma hay distintos canales los cuales tiene paquetes que estan de acuerdo a las reglas establecidas por cada canal. Los distintos canales tienen distintos objetivos por ejemplo bioconda contiene las paqueterias desarrolladas relacionadas con desarrollos biomédicos.

Otro canal muy utilizado es conda-forge, el cual contiene paquetes desarrollados por una extensa comunidad. Por facilidad en este curso utilizaremos el canal conda-forge pues tiene la mayoria de las paqueterias necesarias y se encuentran muchas versiones de los mismos.

Instalación paquetes

Para instalar un paquete dentro del ambiente virtual es necesario activar el ambiente. Ya dentro de este para hacer la instalación de los distintos paquetes de python tenemos dos formas distintas PIP o conda. PIP es el manejador de paquetes usado por python por defecto si se a trabajado anteriormente con Python lo más seguro es estar familiarizado con su uso.

conda es el manejador de paquetes del ambiente virtual y nos permite tanto hacer instalar paquetería de python y otras. Por ejemplo podemos instalar R o Julia haciendo uso de conda.

Como ejemplo para instalar numpy usando conda y el canal conda-forge executamos

(desarrollo) $ conda install -c conda-forge numpy

Instalar git (Tema 2.4)

Git es un systema de control de versiones, aunque existen distintos sistemas de control de versiones git es el más utilizado. Los sistemas de control de versiones son una herramienta fundamental en el desarrollo de software y se recomienda tener una mejor comprensión de los mismos. Por desgracia esto queda fuera del campo de este curso y sólo daremos una explicación simplificada de esto.

Los sistemas de control de versiones fueron ideados para poder regresar a una versión anterior en el desarrollo de software, lo cual resulta fundamental si hay un error en el desarrollo (bug). Con el paso del tiempo y con el aumento en el tamaño de los equipos de desarrollo, también sirven como herramientas en la integración entre los distintos desarrolladores.

Existen distintos servicios para almacenar código de manera remota dentro de los cuales podemos destacar github y gitlab. En este curso se utiliza github por facilidad pues se usa su servicio de github-pages para tener en linea la documentación del paquete que se desarrolla.

Para la instalación de git dentro de un ambiente virtual de anaconda se puede hacer de la siguiente forma

(desarrollo) conda install -c conda-forge git

Instalar Jupyter Notebook (Tema 2.2)

Jupyter es un conjunto de softwares que nos permite hacer uso de multiples herramientas, una de sus principales herramientas es el uso de noteboooks los cuales son documentos donde podemos escribir texto plano y hacer ejecución de código. Para que los documentos finales tengan una mayor riqueza se utiliza Markdown esto nos permite hacer uso de LaTex para escribir formulas matemáticas.

El uso de estos notebooks nos permite hacer pruebas y desarrollo de codigo con explicaciones lo cual es importante para el desarrollo del mismo.

Usaremos JupyterLab el cual integra una plataforma web para generar notebooks, esta interfaz se hace desplegando un servicio web de forma local y puede ser accedida desde cualquier navegador web.

Para su instalación desde un ambiente virtual de conda se ejecuta

(desarrollo) conda install -c conda-forge -y jupyterlab

O con pip

(desarrollo) pip install jupyterlab

Instalación nbdev rápida (linux o Mac) (Tema 2.5)

La instalación de nbdev es igual de fácil que los anteriores paquetes, pero en este caso se utiliza el canal de la empresa que desarrolla nbdev. Se instala a través de pip usando:

pip install nbdev

o instalar con conda:

conda install -c fastai nbdev

Instalación no tan rápida (windows)

La instalación en Windows es distinta pues es necesario hacerla desde PIP y usar una version especifica, al momento de escribir este curso la instalación disponible a través de PIP no funciona de forma totalmente correcta, por tal motivo vamos a especificar la version para hacer uso de esta.

pip install nbdev=2.3.12

Instalar Quarto (Tema 2.4)

Ya con la instalación de nbdev un comando del mismo nos permite instalar Quarto en ael caso de Mac o Linux esto se puede hacer una vez instalado nbdev usando el comando

nbdev_install_quarto

Instalación Quarto windows

Si se desea se puede instalar siguiendo los siguientes pasos para usar con el IDE de preferencia. Esta instalación tendra disponible quarto en todo el sistema y no sólo para el ambiente de desarrollo. Aunque es posible hacer la instalación dentro de un ambiente de desarrollo, esto queda fuera de de una explicación básica.

Otras cosas

Es recomendable instalar ciertos plug-ins para hacernos la vida más fácil estos se hace ejecutando,

nbdev_install_hooks