Como instalar pacotes Python em um ambiente Conda em uma instância de caderno do Amazon SageMaker?
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
Vídeos relacionados
Conteúdo relevante
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há um ano