Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
Wie erstelle ich eine virtuelle Python-3-Umgebung mit der Boto-3-Bibliothek auf AL2 oder AL2023?
Ich habe eine Amazon Elastic Compute Cloud (Amazon EC2)-Instance, auf der Amazon Linux 2 (AL2) oder Amazon Linux 2023 (AL2023) ausgeführt wird. Ich möchte eine isolierte virtuelle Python-3-Umgebung mit dem AWS SDK für Python (Boto3) auf meiner Instance erstellen.
Lösung
Python 3 installieren
Führe die folgenden Schritte aus:
-
Verwende SSH, um eine Verbindung zur EC2-Linux-Instance herzustellen.
-
Führe den folgenden Befehl aus, um den Paketindex zu aktualisieren:
yum check-updateHinweis: Der vorhergehende Befehl sucht auch nach verfügbaren Updates. Du musst keine anderen Pakete aktualisieren, um die Python-3-Umgebung zu erstellen.
-
Um festzustellen, ob auf dem Host Python 3 bereits installiert ist, führe den folgenden Befehl aus:
[ec2-user ~]$ yum list installed | grep -i python3Wenn Python 3 nicht installiert ist, erhalte die folgende Ausgabe:
[ec2-user ~]$ yum list installed | grep -i python3 [ec2-user ~]$ python3 -bash: python3: command not foundWenn Python 3 installiert ist, erhältst du basierend auf der Distribution die folgende Ausgabe:
AL2:[ec2-user ~]$ yum list installed | grep -i python3 python3.x86_64 3.7.4-1.amzn2.0.4 @amzn2-core python3-libs.x86_64 3.7.4-1.amzn2.0.4 @amzn2-core python3-pip.noarch 9.0.3-1.amzn2.0.1 @amzn2-core python3-setuptools.noarch 38.4.0-3.amzn2.0.6 @amzn2-core [ec2-user ~]$ whereis python3 python3: //usr/bin/python3 /usr/bin/python3.7 /usr/bin/python3.7m /usr/lib/python3.7 /usr/lib64/python3.7 /usr/include/python3.7m /usr/share/man/man1/python3.1.gzAB 2023:
[ec2-user ~]$ yum list installed | grep -i python3 python3.x86_64 3.9.21-1.amzn2023.0.3 @System python3-pip-wheel.noarch 21.3.1-2.amzn2023.0.11 @System python3-libs.x86_64 3.9.21-1.amzn2023.0.3 @System python3-setuptools.noarch 59.6.0-2.amzn2023.0.5 @System [ec2-user ~]$ whereis python3 python3: /usr/bin/python3 /usr/share/man/man1/python3.1.gz -
Wenn Python 3 nicht installiert ist, führe den folgenden Befehl aus, um das Paket mit dem Yum-Paketmanager zu installieren:
[ec2-user ~]$ sudo yum install python3 -y
Erstellen einer virtuellen Umgebung unter dem Home-Verzeichnis ec2-user
Führe den folgenden Befehl aus, um das App-Verzeichnis mit der darin enthaltenen virtuellen Umgebung zu erstellen:
[ec2-user ~]$ python3 -m venv my_app/env
Hinweis: Ersetze my_app durch den Namen des Anwendungsverzeichnisses.
Aktivieren der virtuellen Umgebung und installieren von Boto 3-Bibliothek
Führe die folgenden Schritte aus:
-
Ordne der Instance eine AWS Identity and Access Management (IAM)-Rolle zu. Die Rolle muss über eine Berechtigungsrichtlinie verfügen, die es dem SDK für Python (Boto3) ermöglicht, die für die Konfiguration erforderlichen Aktionen auszuführen. Weitere Authentifizierungsmethoden findest du unter Konfiguration auf der Boto3-Website.
-
Führe den folgenden Befehl aus, um die Umgebung zu aktivieren:
[ec2-user ~]$ source ~/my_app/env/bin/activate (env) [ec2-user ~]$Hinweis: Ersetze my_app durch den Namen des Anwendungsverzeichnisses.
-
Um sicherzustellen, dass in der Umgebung das neueste Pip-Modul installiert ist, führe den folgenden Befehl aus:
(env) [ec2-user ~]$ pip install pip --upgrade -
Führe den folgenden Befehl aus, um die Boto3-Bibliothek in der virtuellen Umgebung zu installieren:
(env) [ec2-user ~]$ pip install boto3 -
Führe den folgenden Befehl aus, um Python auszuführen:
(env) [ec2-user ~]$ python Python 3.7.4 (default, Dec 13 2019, 01:02:18)[GCC 7.3.1 20180712 (Red Hat 7.3.1-6)] on linux Type "help", "copyright", "credits" or "license" for more information. >>>> -
Führe den folgenden Befehl aus, um die Boto3-Bibliothek zu importieren und zu überprüfen, ob sie funktioniert:
>>> import boto3 # no errorIn der folgenden Beispielausgabe sind alle Amazon Simple Storage Service (Amazon S3) Buckets innerhalb des AWS-Kontos aufgeführt:
>>> import boto3 # no error >>> s3 = boto3.resource('s3') >>> for bucket in s3.buckets.all(): ... print(bucket.name) ... # Press Enter twice to execute the loop >>> exit() # Then type exit() to quit Python shell -
Um die virtuelle Umgebung zu verlassen, führe den folgenden Befehl aus:
(env) [ec2-user ~]$ deactivate [ec2-user ~]$ -
Um die virtuelle Umgebung automatisch zu aktivieren, wenn du dich anmeldest, führe den folgenden Befehl aus, um die Datei ~/.bashrc zu aktualisieren:
[ec2-user ~]$ echo "source ${HOME}/my_app/env/bin/activate" >> ${HOME}/.bashrcHinweis: Ersetze my_app durch den Namen des Anwendungsverzeichnisses. Der vorhergehende Befehl aktiviert automatisch die virtuelle Umgebung.
-
Führe den folgenden Befehl aus, um die Bash-Umgebung der Umgebung neu zu laden:
[ec2-user ~]$ source ~/.bashrcBeispielausgabe:
(env) [ec2-user ~]$Hinweis: Das (env) zeigt, dass du die virtuelle Umgebung korrekt aktiviert hast. Jetzt kannst du die Python-Umgebung standardmäßig in allen zukünftigen SSH-Sitzungen und wenn du den Befehl source ~/bashrc ausführst, verwenden.
Ähnliche Informationen
Die Instance-Software auf der AL2-Instance aktualisieren
Eine EC2-Instance mithilfe des Assistenten zum Starten von Instances in der Konsole starten
Virtualenv auf der Website der Python Packaging Authority (PYPA)
- Themen
- Compute
- Tags
- LinuxAmazon EC2
- Sprache
- Deutsch
