Come posso installare i pacchetti Python in un ambiente Conda su un'istanza del notebook Amazon SageMaker?
Voglio installare i pacchetti Python in un ambiente Conda specifico, controllare le versioni dei pacchetti installati o creare un ambiente Conda persistente.
Risoluzione
Installa i pacchetti Python in un ambiente Conda specifico
Se usi pip o Conda per installare le librerie Python sul terminale senza specificare l'ambiente Conda corretto, riceverai un ModuleNotFoundErrorquando importi quel pacchetto Python sul tuo notebook in esecuzione. Questo perché non stai installando i pacchetti Python nell'ambiente Conda corretto. Per installare i pacchetti Python nell'ambiente Conda corretto, innanzitutto attiva l'ambiente prima di eseguire pip install o conda install dal terminale.
Ad esempio:
sh-4.2$ source activate python3 (python3) sh-4.2$ pip install theano (python3) sh-4.2$ source deactivate (JupyterSystemEnv) sh-4.2$
Per eseguire questo comando in una cella del notebook, aggiungi un punto esclamativo ("!") all'inizio del comando. Questo forza l'esecuzione del comando come comando della shell dal notebook e assicura che il pacchetto sia installato nel kernel Jupyter corrente.
Ad esempio:
import sys !conda install -y --prefix {sys.prefix} theano
Nota: Quando esegui conda install in una cella del notebook, non puoi inserire una risposta interattiva. Per installare pacchetti in una cella del notebook usando Conda, devi passare -y in modo esplicito. Altrimenti, il comando si blocca e attende la conferma dell'utente.
Oppure, usa pip install:
import sys !{sys.executable} -m pip install theano
A volte, pip potrebbe non riuscire a installare alcune delle dipendenze del pacchetto. Quando ciò accade, usa Conda per installare i pacchetti invece di pip. Conda verifica che tutti i componenti richiesti siano soddisfatti prima di installare i pacchetti. Per ulteriori informazioni, consulta Comprendere Conda e Pip nella documentazione di Conda.
Altri comandi utili
Per visualizzare l'ambiente Conda predefinito, esegui uno dei seguenti comandi nel terminale di istanza del notebook:
$ conda env list
$ conda info --envs
Esempio di output:
# 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
Per visualizzare i kernel installati sul notebook, esegui questo comando:
sh-4.2$ ipython kernelspec list
Per verificare la versione di un pacchetto installato in un ambiente Conda, esegui questo comando nel terminale di istanza del notebook:
(python3) sh-4.2$ pip freeze | grep pandas
Oppure, controlla la versione del pacchetto nella cella del notebook usando questo comando:
import pandas as pd pd.__version__
Crea un ambiente Conda persistente
Quando si arresta un notebook, SageMaker interrompe l'istanza Amazon Elastic Compute Cloud (Amazon EC2) del notebook. I pacchetti installati nell'ambiente Conda non vengono mantenuti tra una sessione e l'altra. La directory /home/ec2-user/SageMaker è l'unico percorso che viene mantenuto tra una sessione e l'altra di istanze del notebook. Questa è la directory del volume Amazon Elastic Block Store (Amazon EBS) del notebook. Se desideri che le tue librerie vengano mantenute tra una sessione e l'altra, consulta Come posso essere sicuro che le librerie installate manualmente vengano mantenute in Amazon SageMaker se la configurazione del mio ciclo di vita si interrompe quando provo a installare le librerie?
Informazioni correlate
Installa librerie e kernel esterni nelle istanze del notebook
Personalizza un'istanza del notebook utilizzando uno script di configurazione del ciclo di vita
Video correlati
Contenuto pertinente
- AWS UFFICIALEAggiornata 3 mesi fa
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata 2 anni fa