¿Cómo puedo instalar paquetes de Python en un entorno Conda en una instancia de cuaderno de Amazon SageMaker?

4 minutos de lectura
0

Quiero instalar paquetes de Python en un entorno Conda específico, comprobar las versiones de los paquetes instalados o crear un entorno Conda persistente.

Resolución

Instalar paquetes de Python en un entorno Conda específico

Si usa pip o Conda para instalar bibliotecas de Python en la terminal sin especificar el entorno Conda correcto, obtendrá un ModuleNotFoundError al importar ese paquete de Python a su cuaderno en ejecución. Esto se debe a que no está instalando los paquetes de Python en el entorno Conda correcto. Para instalar los paquetes de Python en el entorno Conda correcto, active primero el entorno antes de ejecutar pip install o conda install desde el terminal.

Por ejemplo:

sh-4.2$ source activate python3
(python3) sh-4.2$ pip install theano
(python3) sh-4.2$ source deactivate
(JupyterSystemEnv) sh-4.2$

Para ejecutar este comando en una celda de cuaderno, añada un signo de exclamación («!») al principio del comando. Esto fuerza al comando a ejecutarse como un comando de shell desde el cuaderno y asegura que el paquete se instala en el núcleo de Jupyter actual.

Por ejemplo:

import sys
!conda install -y --prefix {sys.prefix} theano

**Nota:**Al ejecutar conda install en una celda de cuaderno, no puede introducir una respuesta interactiva. Para instalar paquetes en una celda de cuaderno mediante Conda, debe pasar -y de forma explícita. De lo contrario, el comando se bloquea y espera la confirmación del usuario.

O use pip install:

import sys
!{sys.executable} -m pip install theano

A veces, es posible que pip no pueda instalar algunas de las dependencias del paquete. Cuando esto suceda, utilice Conda para instalar paquetes en lugar de pip. Conda comprueba que todos los componentes necesarios cumplen los requisitos antes de instalar los paquetes. Para obtener más información, consulte Comprender Conda y Pip en la documentación de Conda.

Otros comandos útiles

Para ver el entorno Conda prediseñado, ejecute uno de los siguientes comandos en el terminal de instancias del cuaderno:

$ conda env list
$ conda info --envs

Ejemplo de salida:

# conda environments:
#
base                     /home/ec2-user/anaconda3
JupyterSystemEnv      *  /home/ec2-user/anaconda3/envs/JupyterSystemEnv
R                        /home/ec2-user/anaconda3/envs/R
amazonei_mxnet_p27       /home/ec2-user/anaconda3/envs/amazonei_mxnet_p27
amazonei_mxnet_p36       /home/ec2-user/anaconda3/envs/amazonei_mxnet_p36
amazonei_tensorflow_p27     /home/ec2-user/anaconda3/envs/amazonei_tensorflow_p27
amazonei_tensorflow_p36     /home/ec2-user/anaconda3/envs/amazonei_tensorflow_p36
chainer_p27              /home/ec2-user/anaconda3/envs/chainer_p27
chainer_p36              /home/ec2-user/anaconda3/envs/chainer_p36
mxnet_p27                /home/ec2-user/anaconda3/envs/mxnet_p27
mxnet_p36                /home/ec2-user/anaconda3/envs/mxnet_p36
python2                  /home/ec2-user/anaconda3/envs/python2
python3                  /home/ec2-user/anaconda3/envs/python3
pytorch_p27              /home/ec2-user/anaconda3/envs/pytorch_p27
pytorch_p36              /home/ec2-user/anaconda3/envs/pytorch_p36
tensorflow_p27           /home/ec2-user/anaconda3/envs/tensorflow_p27
tensorflow_p36           /home/ec2-user/anaconda3/envs/tensorflow_p36

Para ver los núcleos que están instalados en el cuaderno, ejecute este comando:

sh-4.2$ ipython kernelspec list

Para comprobar la versión de un paquete que está instalado en un entorno Conda, ejecute este comando en el terminal de instancias del cuaderno:

(python3) sh-4.2$ pip freeze | grep pandas

O bien, compruebe la versión del paquete en la celda del cuaderno con este comando:

import pandas as pd
pd.__version__

Crear un entorno Conda persistente

Al detener un cuaderno, SageMaker cierra la instancia de Amazon Elastic Compute Cloud (Amazon EC2) del cuaderno. Los paquetes que se instalan en el entorno Conda no persisten entre sesiones. El directorio /home/ec2-user/SageMaker es la única ruta que persiste entre las sesiones de instancias del cuaderno. Este es el directorio para el volumen Amazon Elastic Block Store (Amazon EBS) del cuaderno. Si desea que sus bibliotecas persistan entre sesiones, consulte ¿Cómo puedo asegurarme de que las bibliotecas instaladas manualmente persistan en Amazon SageMaker si se agota el tiempo de espera de mi configuración de ciclo de vida cuando intento instalar las bibliotecas?


Información relacionada

Instalar bibliotecas y núcleos externos en instancias de cuadernos

Personalizar una instancia de cuaderno mediante un script de configuración del ciclo de vida

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años