Wie kann ich Python-Pakete in einer Conda-Umgebung auf einer Amazon SageMaker-Notebook-Instance installieren?
Ich möchte Python-Pakete in einer bestimmten Conda-Umgebung installieren, die installierten Paketversionen überprüfen oder eine persistente Conda-Umgebung erstellen.
Lösung
Installieren Sie Python-Pakete in einer bestimmten Conda-Umgebung
Wenn Sie pip oder Conda verwenden, um Python-Bibliotheken auf dem Terminal zu installieren, ohne die richtige Conda-Umgebung anzugeben, erhalten Sie einen ModuleNotFoundError, wenn Sie dieses Python-Paket in Ihr laufendes Notebook importieren. Das liegt daran, dass Sie die Python-Pakete nicht in der richtigen Conda-Umgebung installieren. Um die Python-Pakete in der richtigen Conda-Umgebung zu installieren, aktivieren Sie zuerst die Umgebung, bevor Sie pip install oder conda install vom Terminal aus ausführen.
Zum Beispiel:
sh-4.2$ source activate python3 (python3) sh-4.2$ pip install theano (python3) sh-4.2$ source deactivate (JupyterSystemEnv) sh-4.2$
Um diesen Befehl in einer Notizbuchzelle auszuführen, fügen Sie ein Ausrufezeichen hinzu („!“) am Anfang des Befehls. Dadurch wird der Befehl als Shell-Befehl vom Notebook aus ausgeführt und es wird sichergestellt, dass das Paket im aktuellen Jupyter-Kernel installiert ist.
Zum Beispiel:
import sys !conda install -y --prefix {sys.prefix} theano
Hinweis: Wenn Sie Conda Install in einer Notebook-Zelle ausführen, können Sie keine interaktive Antwort eingeben. Um Pakete mit Conda in einer Notebook-Zelle zu installieren, müssen Sie explizit -y übergeben. Andernfalls bleibt der Befehl hängen und wartet auf die Bestätigung durch den Benutzer.
Oder verwende pip install:
import sys !{sys.executable} -m pip install theano
Manchmal kann pip einige der Abhängigkeiten des Pakets nicht installieren. Wenn das passiert, verwende Conda, um Pakete anstelle von pip zu installieren. Conda überprüft, ob alle erforderlichen Komponenten erfüllt sind, bevor die Pakete installiert werden. Weitere Informationen finden Sie unter Understanding Conda und Pip in der Conda-Dokumentation.
Andere nützliche Befehle
Um die vorgefertigte Conda-Umgebung zu sehen, führen Sie einen der folgenden Befehle im Notebook-Instanceterminal aus:
$ conda env list
$ conda info --envs
Beispiel für eine Ausgabe:
# 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
Führen Sie diesen Befehl aus, um die Kernel zu sehen, die auf dem Notebook installiert sind:
sh-4.2$ ipython kernelspec list
Um die Version eines Pakets zu überprüfen, das in einer Conda-Umgebung installiert ist, führen Sie diesen Befehl im Notebook-Instanceterminal aus:
(python3) sh-4.2$ pip freeze | grep pandas
Oder überprüfen Sie die Paketversion in der Notizbuchzelle mit diesem Befehl:
import pandas as pd pd.__version__
Erstellen Sie eine persistente Conda-Umgebung
Wenn Sie ein Notebook beenden, beendet SageMaker die Amazon Elastic Compute Cloud (Amazon EC2) -Instance des Notebooks. Pakete, die in der Conda-Umgebung installiert sind, bleiben zwischen den Sitzungen nicht bestehen. Das Verzeichnis /home/ec2-user/SageMaker ist der einzige Pfad, der zwischen Notebook-Instancesitzungen bestehen bleibt. Dies ist das Verzeichnis für das Amazon Elastic Block Store (Amazon EBS) -Volume des Notebooks. Wenn Sie möchten, dass Ihre Bibliotheken zwischen den Sitzungen bestehen bleiben, finden Sie weitere Informationen unter Wie kann ich sicherstellen, dass manuell installierte Bibliotheken in Amazon SageMaker bestehen bleiben, wenn meine Lifecycle-Konfiguration beim Versuch, die Bibliotheken zu installieren, ein Timeout aufweist?
Ähnliche Informationen
Installieren Sie externe Bibliotheken und Kernel in Notebook-Instanceen
Passen Sie eine Notebook-Instance mithilfe eines Lifecycle-Konfigurationsskripts an
Ähnliche Videos
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 4 Monaten
- AWS OFFICIALAktualisiert vor 6 Monaten
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor einem Jahr