Wie erstelle ich eine virtuelle Python-3-Umgebung mit der Boto-3-Bibliothek auf Amazon Linux 2?
Ich habe eine Amazon Elastic Compute Cloud (Amazon EC2) Instance, die auf Amazon Linux 2 ausgeführt wird. Ich möchte eine isolierte virtuelle Python-3-Umgebung mit der Boto-3-Bibliothek auf meiner Instance erstellen.
Lösung
Installieren von Python 3 für Amazon Linux 2
-
Verwenden Sie SSH, um eine Verbindung zu Ihrer EC2-Linux-Instance herzustellen. Weitere Informationen finden Sie unter Herstellen einer Verbindung zu Ihrer Linux-Instance von Linux oder macOS aus mithilfe von SSH.
-
Führen Sie ein yum check-update durch, um den Paketindex zu aktualisieren. Das check-update sucht auch nach verfügbaren Updates. Sie müssen keine anderen Pakete aktualisieren, um die Python-3-Umgebung zu erstellen.
-
Um festzustellen, ob auf Ihrem Host bereits Python 3 installiert ist, nutzen Sie den Befehl list installed:>
[ec2-user ~]$ yum list installed | grep -i python3
Wenn Python 3 nicht installiert ist, erhalten Sie die folgende Ausgabe:
[ec2-user ~]$ yum list installed | grep -i python3[ec2-user ~]$ [ec2-user ~]$ python3 -bash: python3: command not found
Wenn Python 3 installiert ist, erhalten Sie die folgende Ausgabe:
[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.gz
-
Wenn Python 3 nicht installiert ist, installieren Sie das Paket mit dem yum-Paketmanager:
[ec2-user ~]$ sudo yum install python3 -y
Erstellen einer virtuellen Umgebung unter dem Home-Verzeichnis ec2-user
Der folgende Befehl erstellt das App-Verzeichnis mit der darin enthaltenen virtuellen Umgebung. Sie können my_app in einen anderen Namen ändern. Wenn Sie my_app ändern, verweisen Sie in den verbleibenden Lösungsschritten auf den neuen Namen:
[ec2-user ~]$ python3 -m venv my_app/env
Aktivieren der virtuellen Umgebung und installieren von Boto 3
-
Fügen Sie Ihrer EC2 Instance eine AWS Identity and Access Management (IAM)-Rolle mit Berechtigungsrichtlinien für Boto 3 zur Interaktion mit AWS APIs hinzu. Weitere Authentifizierungsmethoden finden Sie in der Boto-3-Dokumentation.
-
Um die Umgebung zu aktivieren, beziehen Sie die Datei activate im Verzeichnis bin innerhalb Ihres Projektverzeichnis:
[ec2-user ~]$ source ~/my_app/env/bin/activate(env) [ec2-user ~]$
-
Stellen Sie sicher, dass in Ihrer Umgebung das neueste Pip-Modul installiert ist:
(env) [ec2-user ~]$ pip install pip --upgrade
-
Verwenden Sie den Befehl pip, um die Boto-3-Bibliothek in Ihrer virtuellen Umgebung zu installieren:
(env) [ec2-user ~]$ pip install boto3
-
Führen Sie Python aus:
(env) [ec2-user ~]$ pythonPython 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. >>>>
-
Importieren Sie die Boto-3-Bibliothek und überprüfen Sie dann, ob sie funktioniert. Für diesen Schritt müssen Sie die Berechtigungsrichtlinien aus Schritt 1 konfiguriert haben. In der folgenden Beispielausgabe sind alle Amazon Simple Storage Service (Amazon S3) Buckets innerhalb des Kontos aufgeführt:
>>> import boto3 # no error>>> s3 = boto3.resource('s3') >>> for bucket in s3.buckets.all(): print(bucket.name) >>> exit()
-
Um die virtuelle Umgebung zu verlassen, führen Sie den Befehl deactivate aus:
(env) [ec2-user ~]$ deactivate [ec2-user ~]$
-
Um die virtuelle Umgebung automatisch zu aktivieren, wenn Sie sich anmelden, fügen Sie sie der Datei ~/.bashrc hinzu:
[ec2-user ~]$ echo "source ${HOME}/my_app/env/bin/activate" >> ${HOME}/.bashrc
-
Holen Sie sich die Datei ~/.bashrc in Ihrem Home-Verzeichnis, um die Bash-Umgebung Ihrer Umgebung neu zu laden. Dadurch wird Ihre virtuelle Umgebung automatisch aktiviert. Die Aufforderung spiegelt die Änderung wider (env). Diese Änderung gilt auch für alle zukünftigen SSH-Sitzungen:
[ec2-user ~]$ source ~/.bashrc (env) [ec2-user ~]$
Verwandte Informationen
Aktualisieren der Instance Software auf Ihrer Amazon-Linux-Instance
Starten einer Instance mit dem Launch Instance Wizard
Virtualenv auf der Website der Python Packaging Authority (PYPA)
Ähnliche Videos
Relevanter Inhalt
- Wie installiere ich eine GUI auf meiner Amazon-EC2-Instance, auf der Amazon Linux 2 ausgeführt wird?AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 8 Monaten
- AWS OFFICIALAktualisiert vor 2 Jahren