Como instalar pacotes Python em um ambiente Conda em uma instância de caderno do Amazon SageMaker?

3 minuto de leitura
0

Quero instalar pacotes Python em um ambiente Conda específico, verificar as versões dos pacotes instalados ou criar um ambiente Conda persistente.

Resolução

Como instalar pacotes Python em um ambiente Conda específico

Se usar pip ou Conda para instalar bibliotecas Python no terminal sem especificar o ambiente Conda correto, você receberá um ModuleNotFoundError ao importar esse pacote Python para o seu caderno em execução. Isso ocorre porque você não está instalando os pacotes Python no ambiente Conda correto. Para instalar os pacotes Python no ambiente Conda correto, ative o ambiente antes de executar pip install ou conda install no terminal.

Por exemplo:

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

Para executar esse comando em uma célula do caderno, adicione um ponto de exclamação (“!”) no início do comando. Isso força o comando a ser executado como um comando shell a partir do caderno e garante que o pacote seja instalado no kernel atual do Jupyter.

Por exemplo:

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

Observação: Ao executar conda install em uma célula de caderno, você não pode inserir uma resposta interativa. Para instalar pacotes em uma célula de caderno usando o Conda, você deve passar explicitamente -y. Caso contrário, o comando trava e aguarda a confirmação do usuário.

Ou use pip install:

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

Às vezes, o pip pode falhar ao instalar algumas das dependências do pacote. Quando isso acontecer, use o Conda para instalar pacotes em vez do pip. O Conda verifica se os componentes necessários foram atendidos antes de instalar os pacotes. Para mais informações, consulte Como compreender Conda e Pip na documentação do Conda.

Outros comandos úteis

Para ver o ambiente Conda pré-construído, execute um dos seguintes comandos no terminal da instância do caderno:

$ conda env list
$ conda info --envs

Exemplo de saída:

# 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 os kernels que estão instalados no caderno, execute este comando:

sh-4.2$ ipython kernelspec list

Para verificar a versão de um pacote instalado em um ambiente Conda, execute este comando no terminal da instância do caderno:

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

Ou verifique a versão do pacote na célula do caderno usando este comando:

import pandas as pd
pd.__version__

Como criar um ambiente Conda persistente

Quando você interrompe um caderno, o SageMaker encerra a instância do Amazon Elastic Compute Cloud (Amazon EC2) do caderno. Os pacotes instalados no ambiente Conda não persistem entre as sessões. O diretório /home/ec2-user/SageMaker é o único caminho que persiste entre as sessões da instância do caderno. Esse é o diretório do volume do Amazon Elastic Block Store (Amazon EBS) do caderno. Se quiser que suas bibliotecas persistam entre as sessões, consulte Como ter certeza de que as bibliotecas instaladas manualmente persistam no Amazon SageMaker se minha configuração de ciclo de vida atingir o tempo limite ao tentar instalar as bibliotecas?


Informações relacionadas

Como instalar bibliotecas e kernels externos em instâncias de notebook

Como personalizar uma instância de notebook usando um script de configuração do ciclo de vida

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos