Crear entornos virtuales en python y asociarlos a un kernel de jupyter notebook

PUBLISHED ON DEC 9, 2020 / 2 MIN READ — JUPYTER NOTEBOOK, MACOS, PYTHON, WORKFLOW

En este post se detalla el workflow para crear entornos virtuales con python, instalar paquetes y utilizarlos con jupyter notebooks. Mayor información acerca de entornos virtuales en la documentación oficial.

Las siguientes dos secciones se encuentran resumidas en la secuencia de comandos:

Crear un entorno virtual

  1. Creamos un directorio para el proyecto y dentro de el iniciamos un entorno virtual con: python3 -m venv <name>.

  2. Activamos el entorno con source <name>/bin/activate. Los comandos which python y which pip se pueden utilizar para constatar bajo cuál entorno estamos actuando, si aparece la ruta del proyecto significa que estamos trabajando con el entorno virtual que creamos. Un detalle visual cuando se tiene el entorno activado es que la ruta de trabajo indicada en el terminal comienza con (<name>) ~/.... Si es necesario desactivar el entorno, basta utilizar el comando deactivate y se dejará también de ver el prefijo especificado en la ruta del terminal.

  3. Para instalar paquetes simplemente utilizamos el comando pip install <package_name>. Es posible utiizar un archivo de texto con el listado de los paquetes y la versión especifica requerida e instalarlos utilizando pip install -r requirements.txt. El comando pip list nos sirve para inspeccionar los paquetes instalados.

Crear un kernel en jupyter notebook

  1. Instalamos el paquete para trabajar con jupyter notebooks y crear un kernel:
    pip install ipykernel. Importante, una vez terminada la instalación debemos desactivar el entorno (deactivate) y volver activarlo antes de seguir. En mi caso, si continuó sin reiniciar el entorno tengo problemas con asociar el kernel al entorno virtual, lo que a su vez significa problemas para cargar los paquetes instalados.

  2. Ahora creamos el kernel ipython kernel install --user --name=<name>. Importante utilizar el mismo nombre del entorno virtual que utilizamos en el paso 1 (buena práctica). Si queremos desintalar algún kernel: jupyter kernelspec uninstall <name>.

  3. Se pueden inspeccionar todos los kernel habilitados con el comando: jupyter kernelspec list. Debería aparecer en la lista el nuevo kernel creado en 6.

  4. Finalmente al iniciar jupyter lab o jupyter notebook veremos que al crear un nuevo notebook estará el kernel creado en el paso 5. Si utilizamos esta opción, estarán disponibles todos los paquetes instaldos en el ambiente virtual.

comments powered by Disqus