Wie erstelle ich eine virtuelle Python-3-Umgebung mit der Boto-3-Bibliothek auf Amazon Linux 2?

Lesedauer: 4 Minute
0

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

  1. 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.

  2. 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.

  3. 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
  4. 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

  1. 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.

  2. 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 ~]$
  3. Stellen Sie sicher, dass in Ihrer Umgebung das neueste Pip-Modul installiert ist:

    (env) [ec2-user ~]$ pip install pip --upgrade
  4. Verwenden Sie den Befehl pip, um die Boto-3-Bibliothek in Ihrer virtuellen Umgebung zu installieren:

    (env) [ec2-user ~]$ pip install boto3
  5. 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.
    >>>>
  6. 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()
  7. Um die virtuelle Umgebung zu verlassen, führen Sie den Befehl deactivate aus:

    (env) [ec2-user ~]$ deactivate
    [ec2-user ~]$
  8. 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
  9. 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)

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 8 Monaten