Erstellen und Installieren der AWS CLI aus der Quelle - AWS Command Line Interface

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen und Installieren der AWS CLI aus der Quelle

In diesem Thema wird beschrieben, wie Sie die neueste Version der AWS Command Line Interface (AWS CLI) auf unterstützten Betriebssystemen aus der Quelle installieren oder aktualisieren.

Weitere Informationen zu den neuesten Versionen von AWS CLI finden Sie im Änderungsprotokoll zu AWS CLI Version 2 auf GitHub.

Wichtig

Die AWS CLI-Versionen 1 und 2 verwenden denselben aws-Befehlsnamen. Wenn Sie die AWS CLI Version 1 zuvor installiert haben, informieren Sie sich unter Migrationsleitfaden für die AWS CLI Version 2.

Warum aus der Quelle erstellen?

Die AWS CLI ist als vordefinierte Installationsprogramme für die meisten Plattformen und Umgebungen sowie als Docker-Image verfügbar.

Im Allgemeinen decken diese Installationsprogramme die meisten Anwendungsfälle ab. Die Anweisungen für die Installation aus der Quelle sollen bei den Anwendungsfällen helfen, die unsere Installationsprogramme nicht abdecken. Einige dieser Anwendungsfälle sind:

  • Die vordefinierten Installationsprogramme unterstützen Ihre Umgebung nicht. Beispielsweise wird ARM 32-Bit von den vordefinierten Installationsprogrammen nicht unterstützt.

  • Die vordefinierten Installationsprogramme haben Abhängigkeiten, die Ihrer Umgebung fehlen. Zum Beispiel verwendet Alpine Linux musl, aber die aktuellen Installationsprogramme erfordern glibc, sodass die vordefinierten Installationsprogramme nicht sofort funktionieren.

  • Die vordefinierten Installationsprogramme benötigen Ressourcen, auf die Ihre Umgebung den Zugriff beschränkt. Beispielsweise gewähren sicherheitsgeschützte Systeme möglicherweise keine Berechtigungen für gemeinsam genutzten Speicher. Dies ist für das eingefrorene aws-Installationsprogramm jedoch erforderlich.

  • Die vordefinierten Installationsprogramme sind oft ein Hindernis für die Maintainer in Paketmanagern, da die vollständige Kontrolle über den Erstellungsprozess von Code und Paketen bevorzugt wird. Das Erstellen aus der Quelle ermöglicht es Distributions-Maintainern, den Prozess zu optimieren, um die AWS CLI stets auf dem neuesten Stand zu halten. Durch die Aktivierung von Maintainern erhalten Kunden aktuellere Versionen der AWS CLI, wenn sie von einem Drittanbieter-Paketmanager wie brew, yum und apt aus installieren.

  • Kunden, die AWS CLI-Funktionen patchen, müssen die AWS CLI aus der Quelle erstellen und installieren. Dies ist besonders wichtig für Community-Mitglieder, die an der Quelle vorgenommene Änderungen testen möchten, bevor sie diese in das GitHub-Repository der AWS CLI laden.

Schnelle Schritte

Anmerkung

Es wird davon ausgegangen, dass alle Codebeispiele aus dem Stammverzeichnis des Quellverzeichnisses ausgeführt werden.

Gehen Sie wie in diesem Abschnitt beschrieben vor, um die AWS CLI aus der Quelle zu erstellen und zu installieren. Die AWS CLI nutzt GNU Autotools zur Installation aus der Quelle. Im einfachsten Fall kann die AWS CLI aus der Quelle installiert werden, indem die standardmäßigen Beispielbefehle vom Stammverzeichnis des GitHub-Repositorys der AWS CLI aus ausgeführt werden.

  1. Richten Sie alle Anforderungen für Ihre Umgebung ein. Dies beinhaltet die Möglichkeit, von GNU Autotools generierte Dateien auszuführen, wobei Python 3.8 oder höher installiert ist.

  2. Navigieren Sie in Ihrem Terminal zur obersten Ebene des AWS CLI-Quellordners und führen Sie den ./configure-Befehl aus. Dieser Befehl überprüft das System auf alle erforderlichen Abhängigkeiten und generiert eine Makefile anhand der erkannten und angegebenen Konfigurationen für die Erstellung und Installation der AWS CLI.

    Linux and macOS

    Das folgende ./configure-Befehlsbeispiel legt die Build-Konfiguration für die AWS CLI unter Verwendung der Standardeinstellungen fest.

    $ ./configure
    Windows PowerShell

    Bevor Sie Befehle ausführen, die MSYS2 aufrufen, müssen Sie Ihr aktuelles Arbeitsverzeichnis sichern:

    PS C:\> $env:CHERE_INVOKING = 'yes'

    Verwenden Sie dann das folgende ./configure-Befehlsbeispiel, um die Build-Konfiguration für die AWS CLI mithilfe Ihres lokalen Pfads zu Ihrer ausführbaren Python-Datei, die Installation unter C:\Program Files\AWSCLI und das Herunterladen aller Abhängigkeiten festzulegen.

    PS C:\> C:\msys64\usr\bin\bash -lc " PYTHON='C:\path\to\python.exe' ./configure --prefix='C:\Program Files\AWSCLI' --with-download-deps "

    Einzelheiten, verfügbare Konfigurationsoptionen und Informationen zu Standardeinstellungen finden Sie im Abschnitt Schritt 2: Konfiguration der AWS CLI-Quellinstallation .

  3. Führen Sie den Befehl make aus. Dieser Befehl erstellt die AWS CLI entsprechend Ihren Konfigurationseinstellungen.

    Das folgende make Befehlsbeispiel erstellt mit Standardoptionen und verwendet Ihre vorhandenen ./configure-Einstellungen.

    Linux and macOS
    $ make
    Windows PowerShell
    PS C:\> C:\msys64\usr\bin\bash -lc "make"

    Einzelheiten und verfügbare Build-Optionen finden Sie im Abschnitt Schritt 3: Erstellen der AWS CLI.

  4. Führen Sie den Befehl make install aus. Mit diesem Befehl wird Ihre entwickelte AWS CLI am konfigurierten Ort in Ihrem System installiert.

    Das folgende make install-Befehlsbeispiel installiert Ihre entwickelte AWS CLI und erstellt Symlinks an Ihren konfigurierten Speicherorten unter Verwendung der Standardbefehlseinstellungen.

    Linux and macOS
    $ make install
    Windows PowerShell
    PS C:\> C:\msys64\usr\bin\bash -lc "make install"

    Fügen Sie nach der Installation den Pfad zur AWS CLI wie folgt hinzu:

    PS C:\> $Env:PATH +=";C:\Program Files\AWSCLI\bin\"

    Einzelheiten und verfügbare Installationsoptionen finden Sie im Abschnitt Schritt 4: Installieren der AWS CLI.

  5. Bestätigen Sie die erfolgreiche AWS CLI-Installation mit dem folgenden Befehl:

    $ aws --version aws-cli/2.27.41 Python/3.11.6 Windows/10 exe/AMD64 prompt/off

    Schritte zur Behebung von Installationsfehlern finden Sie im Abschnitt Beheben von Fehlern beim Installieren und Deinstallieren der AWS CLI.

Schritt 1: Einrichten aller Anforderungen

Um die AWS CLI aus der Quelle zu erstellen, müssen Sie zuvor Folgendes erledigen:

Anmerkung

Es wird davon ausgegangen, dass alle Codebeispiele aus dem Stammverzeichnis des Quellverzeichnisses ausgeführt werden.

  1. Laden Sie die AWS CLI-Quelle herunter, entweder durch Verzweigen des AWS CLI-GitHub-Repositorys oder durch Herunterladen des Quell-Tarballs. Siehe eine der folgenden Anweisungen:

    • Verzweigen oder klonen Sie das AWS CLI-Repository aus GitHub. Weitere Informationen finden Sie unter Fork a repo in den GitHub Docs.

    • Laden Sie den neuesten Quell-Tarball unter https://awscli.amazonaws.com/awscli.tar.gz herunter und extrahieren Sie den Inhalt mit folgenden Befehlen:

      $ curl "https://awscli.amazonaws.com/awscli.tar.gz" -o "awscli.tar.gz" $ tar -xzf awscli.tar.gz
      Anmerkung

      Verwenden Sie das folgende Linkformat, um eine bestimmte Version herunterzuladen: https://awscli.amazonaws.com/awscli-Versionsnummer.tar.gz, um eine bestimmte Version herunterzuladen.

      Für Version 2.10.0 lautet der Link beispielsweise wie folgt: https://awscli.amazonaws.com/awscli-2.10.0.tar.gz

      Quellversionen sind ab Version 2.10.0 von der AWS CLI verfügbar.

      (Optional) Überprüfen der Integrität Ihrer heruntergeladenen Zip-Datei anhand der folgenden Schritten:

      1. Sie können die folgenden Schritte verwenden, um die Signaturen mithilfe des GnuPG-Tools zu überprüfen.

        Die .zip-Dateien des AWS CLI-Installationsprogrammpakets sind kryptografisch mit PGP-Signaturen signiert. Wenn die Dateien beschädigt oder verändert wurden, schlägt diese Verifizierung fehl und Sie sollten nicht mit der Installation fortfahren.

      2. Laden Sie den gpg-Befehl herunter und installieren Sie diesen mit Ihrem Paket-Manager. Weitere Informationen zu GnuPG finden Sie auf der GnuPG-Website.

      3. Um die öffentliche Schlüsseldatei zu erstellen, müssen Sie eine Textdatei erstellen und den folgenden Text einfügen.

        -----BEGIN PGP PUBLIC KEY BLOCK----- mQINBF2Cr7UBEADJZHcgusOJl7ENSyumXh85z0TRV0xJorM2B/JL0kHOyigQluUG ZMLhENaG0bYatdrKP+3H91lvK050pXwnO/R7fB/FSTouki4ciIx5OuLlnJZIxSzx PqGl0mkxImLNbGWoi6Lto0LYxqHN2iQtzlwTVmq9733zd3XfcXrZ3+LblHAgEt5G TfNxEKJ8soPLyWmwDH6HWCnjZ/aIQRBTIQ05uVeEoYxSh6wOai7ss/KveoSNBbYz gbdzoqI2Y8cgH2nbfgp3DSasaLZEdCSsIsK1u05CinE7k2qZ7KgKAUIcT/cR/grk C6VwsnDU0OUCideXcQ8WeHutqvgZH1JgKDbznoIzeQHJD238GEu+eKhRHcz8/jeG 94zkcgJOz3KbZGYMiTh277Fvj9zzvZsbMBCedV1BTg3TqgvdX4bdkhf5cH+7NtWO lrFj6UwAsGukBTAOxC0l/dnSmZhJ7Z1KmEWilro/gOrjtOxqRQutlIqG22TaqoPG fYVN+en3Zwbt97kcgZDwqbuykNt64oZWc4XKCa3mprEGC3IbJTBFqglXmZ7l9ywG EEUJYOlb2XrSuPWml39beWdKM8kzr1OjnlOm6+lpTRCBfo0wa9F8YZRhHPAkwKkX XDeOGpWRj4ohOx0d2GWkyV5xyN14p2tQOCdOODmz80yUTgRpPVQUtOEhXQARAQAB tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4CGwMF CwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQT7Xbd/1cEYuAURraimMQrMRnJHXAUC aGveYQUJDMpiLAAKCRCmMQrMRnJHXKBYD/9Ab0qQdGiO5hObchG8xh8Rpb4Mjyf6 0JrVo6m8GNjNj6BHkSc8fuTQJ/FaEhaQxj3pjZ3GXPrXjIIVChmICLlFuRXYzrXc Pw0lniybypsZEVai5kO0tCNBCCFuMN9RsmmRG8mf7lC4FSTbUDmxG/QlYK+0IV/l uJkzxWa+rySkdpm0JdqumjegNRgObdXHAQDWlubWQHWyZyIQ2B4U7AxqSpcdJp6I S4Zds4wVLd1WE5pquYQ8vS2cNlDm4QNg8wTj58e3lKN47hXHMIb6CHxRnb947oJa pg189LLPR5koh+EorNkA1wu5mAJtJvy5YMsppy2y/kIjp3lyY6AmPT1posgGk70Z CmToEZ5rbd7ARExtlh76A0cabMDFlEHDIK8RNUOSRr7L64+KxOUegKBfQHb9dADY qqiKqpCbKgvtWlds909Ms74JBgr2KwZCSY1HaOxnIr4CY43QRqAq5YHOay/mU+6w hhmdF18vpyK0vfkvvGresWtSXbag7Hkt3XjaEw76BzxQH21EBDqU8WJVjHgU6ru+ DJTs+SxgJbaT3hb/vyjlw0lK+hFfhWKRwgOXH8vqducF95NRSUxtS4fpqxWVaw3Q V2OWSjbne99A5EPEySzryFTKbMGwaTlAwMCwYevt4YT6eb7NmFhTx0Fis4TalUs+ j+c7Kg92pDx2uQ== =OBAt -----END PGP PUBLIC KEY BLOCK-----

        Als Referenz finden Sie im Folgenden die Details des öffentlichen Schlüssels.

        Key ID: A6310ACC4672 Type: RSA Size: 4096/4096 Created: 2019-09-18 Expires: 2026-07-07 User ID: AWS CLI Team <aws-cli@amazon.com> Key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
      4. Importieren Sie den öffentlichen AWS CLI-Schlüssel mit dem folgenden Befehl, indem Sie public-key-file-name durch den Dateinamen des erstellten öffentlichen Schlüssels ersetzen.

        $ gpg --import public-key-file-name gpg: /home/username/.gnupg/trustdb.gpg: trustdb created gpg: key A6310ACC4672475C: public key "AWS CLI Team <aws-cli@amazon.com>" imported gpg: Total number processed: 1 gpg: imported: 1
      5. Laden Sie die AWS CLI-Signaturdatei für das Paket herunter, das Sie unter https://awscli.amazonaws.com/awscli.tar.gz.sig heruntergeladen haben. Sie hat denselben Pfad und denselben Namen wie die Tarball-Datei, der sie entspricht, hat aber die Erweiterung .sig. Speichern Sie sie im gleichen Pfad wie die Tarball-Datei. Oder verwenden Sie den folgenden Befehlsblock:

        $ curl awscliv2.sig https://awscli.amazonaws.com/ -o awscli.tar.gz.sig
      6. Überprüfen Sie die Signatur und übergeben Sie sowohl den heruntergeladenen .sig- als auch den .zip-Dateinamen als Parameter an den gpg-Befehl.

        $ gpg --verify awscliv2.sig awscli.tar.gz

        Die Ausgabe sollte in etwa folgendermaßen aussehen:

        gpg: Signature made Mon Nov 4 19:00:01 2019 PST gpg: using RSA key FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C gpg: Good signature from "AWS CLI Team <aws-cli@amazon.com>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
        Wichtig

        Die Warnung in der Ausgabe wird erwartet und ist kein Hinweis auf ein Problem. Sie tritt auf, weil keine Vertrauenskette zwischen Ihrem persönlichen PGP-Schlüssel (falls Sie einen haben) und dem AWS CLI-PGP-Schlüssel besteht. Weitere Informationen finden Sie unter Web of trust (Netz des Vertrauens).

  2. Sie haben eine Umgebung, in der von GNU Autotools generierte Dateien wie configure und Makefile ausgeführt werden können. Diese Dateien sind auf POSIX-Plattformen weitgehend portabel.

    Linux and macOS

    Wenn Autotools in Ihrer Umgebung noch nicht installiert sind oder Sie sie aktualisieren müssen, folgen Sie den Installationsanweisungen unter Wie installiere ich die Autotools (als Benutzer)? oder Grundinstallation in der GNU-Dokumentation.

    Windows PowerShell
    Warnung

    Wir empfehlen, dass Sie in einer Windows-Umgebung die vordefinierten Installationsprogramme verwenden. Anweisungen zur Installation der vordefinierten Installationsprogramme finden Sie unter Installation oder Aktualisierung der neuesten Version von AWS CLI.

    Da Windows nicht mit einer POSIX-kompatiblen Shell geliefert wird, müssen Sie zusätzliche Software installieren, um die AWS CLI aus der Quelle zu installieren. MSYS2 bietet eine Sammlung von Tools und Bibliotheken, die beim Erstellen und Installieren von Windows-Software helfen, insbesondere für das POSIX-basierte Skripting, das Autotools verwendet.

    1. Installieren Sie MSYS2. Informationen zur Installation und Verwendung von MSYS2 finden Sie in den Installations- und Nutzungsanweisungen in der MSYS2-Dokumentation.

    2. Öffnen Sie das MSYS2-Terminal und installieren Sie Autotools mit dem folgenden Befehl.

      $ pacman -S autotools
    Anmerkung

    Wenn Sie die Codebeispiele zum Konfigurieren, Erstellen und Installieren in diesem Handbuch zu Windows verwenden, wird der standardmäßige MSYS2-Installationspfad von C:\msys64\usr\bin\bash angenommen. Wenn Sie MSYS2 innerhalb von PowerShell aufrufen, verwenden Sie das folgende Format mit dem Befehl bash in Anführungszeichen:

    PS C:\> C:\msys64\usr\bin\bash -lc "command example"

    Das folgende Befehlsbeispiel ruft den ./configure-Befehl auf.

    PS C:\> C:\msys64\usr\bin\bash -lc "./configure"
  3. Python 3.8-Interpreter oder höher ist installiert. Die erforderliche Python-Mindestversion folgt den gleichen Zeitplänen wie die offizielle Python-Supportrichtlinie für AWS-SDKs und Tools. Ein Interpreter wird nur bis zu 6 Monate nach dem Datum des Support-Endes unterstützt.

  4. (Optional) Installieren Sie alle Build- und Laufzeit-Python-Bibliotheksabhängigkeiten der AWS CLI. Der ./configure-Befehl informiert Sie darüber, ob Ihnen Abhängigkeiten fehlen und wie Sie diese installieren.

    Sie können diese Abhängigkeiten über die Konfiguration automatisch installieren und verwenden. Weitere Informationen finden Sie unter Herunterladen von Abhängigkeiten.

Schritt 2: Konfiguration der AWS CLI-Quellinstallation

Die Konfiguration für die Erstellung und die Installation der AWS CLI wird mithilfe des configure-Skripts festgelegt. Für die Dokumentation aller Konfigurationsoptionen führen Sie das configure-Skript mit der --help-Option aus:

Linux and macOS
$ ./configure --help
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "./configure --help"

Installationsspeicherort

Die Quellinstallation der AWS CLI verwendet zwei konfigurierbare Verzeichnisse für die Installation der AWS CLI:

  • libdir – Übergeordnetes Verzeichnis, in dem die AWS CLI installiert wird. Der Pfad zur AWS CLI-Installation ist <libdir-value>/aws-cli. Der libdir-Standardwert für Linux und macOS ist /usr/local/lib zur Markierung des Standardinstallationsverzeichnisses /usr/local/lib/aws-cli.

  • bindir – Verzeichnis, in dem die ausführbaren AWS CLI-Dateien installiert sind. Der Standardspeicherort ist /usr/local/bin.

Die folgenden configure-Optionen steuern die verwendeten Verzeichnisse:

  • --prefix – Legt das Verzeichnispräfix fest, das für die Installation verwendet werden soll. Der Standardwert für Linux und macOS ist /usr/local.

  • --libdir – Legt den für die Installation der AWS CLI zu verwendenden libdir fest. Der Standardwert ist <prefix-value>/lib. Wenn --libdir und --prefix nicht angegeben sind, ist die Standardeinstellung für Linux und macOS /usr/local/lib/.

  • --bindir – Legt fest, welches bindir für die Installation der ausführbaren Dateien AWS CLI aws und aws_completer verwendet werden soll. Der Standardwert ist <prefix-value>/bin. Wenn bindir und --prefix nicht angegeben sind, ist die Standardeinstellung für Linux und macOS /usr/local/bin/.

Linux and macOS

Im folgenden Befehlsbeispiel wird die Option --prefix verwendet, um eine lokale Benutzerinstallation der AWS CLI durchzuführen. Dieser Befehl installiert die AWS CLI unter $HOME/.local/lib/aws-cli und die ausführbaren Dateien unter $HOME/.local/bin:

$ ./configure --prefix=$HOME/.local

Im folgenden Befehlsbeispiel wird die Option --libdir verwendet, um die AWS CLI als Zusatzanwendung im /opt-Verzeichnis zu installieren. Dieser Befehl installiert die AWS CLI unter /opt/aws-cli und die ausführbaren Dateien an ihrem Standardspeicherort /usr/local/bin.

$ ./configure --libdir=/opt
Windows PowerShell

Im folgenden Befehlsbeispiel wird die Option --prefix verwendet, um eine lokale Benutzerinstallation der AWS CLI durchzuführen. Dieser Befehl installiert die AWS CLI unter $HOME/.local/lib/aws-cli und die ausführbaren Dateien unter $HOME/.local/bin:

$ C:\msys64\usr\bin\bash -lc "./configure --prefix='C:\Program Files\AWSCLI'"

Im folgenden Befehlsbeispiel wird die Option --libdir verwendet, um die AWS CLI als Zusatzanwendung im /opt-Verzeichnis zu installieren. Mit diesem Befehl wird die AWS CLI unter C:\Program Files\AWSCLI\opt\aws-cli installiert.

Python-Interpreter

Anmerkung

Es wird dringend empfohlen, den Python-Interpreter bei der Installation für Windows anzugeben.

Das ./configure-Skript wählt automatisch einen installierten Python 3.8- oder neueren Interpreter aus, der beim Erstellen und Ausführen der AWS CLI mithilfe des Autoconf-Makros AM_PATH_PYTHON verwendet werden soll.

Der zu verwendende Python-Interpreter kann beim Ausführen des configure-Skripts mithilfe der PYTHON-Umgebungsvariablen explizit festgelegt werden:

Linux and macOS
$ PYTHON=/path/to/python ./configure
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "PYTHON='C:\path\to\python' ./configure"

Herunterladen von Abhängigkeiten

Standardmäßig ist es erforderlich, dass alle Build- und Laufzeit-Abhängigkeiten der AWS CLI bereits im System installiert sind. Dies schließt alle Abhängigkeiten der Python-Bibliothek ein. Alle Abhängigkeiten werden überprüft, wenn das configure-Skript ausgeführt wird, und wenn dem System irgendwelche Python-Abhängigkeiten fehlen, meldet das configure-Skript einen Fehler.

Im folgenden Codebeispiel treten Fehler auf, wenn Ihrem System Abhängigkeiten fehlen:

Linux and macOS
$ ./configure checking for a Python interpreter with version >= 3.8... python checking for python... /Users/username/.envs/env3.11/bin/python checking for python version... 3.11 checking for python platform... darwin checking for GNU default python prefix... ${prefix} checking for GNU default python exec_prefix... ${exec_prefix} checking for python script directory (pythondir)... ${PYTHON_PREFIX}/lib/python3.11/site-packages checking for python extension module directory (pyexecdir)... ${PYTHON_EXEC_PREFIX}/lib/python3.11/site-packages checking for --with-install-type... system-sandbox checking for --with-download-deps... Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 125, in <module> main() File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 121, in main parsed_args.func(parsed_args) File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 49, in validate validate_env(parsed_args.artifact) File "/Users/username/aws-code/aws-cli/./backends/build_system/validate_env.py", line 68, in validate_env raise UnmetDependenciesException(unmet_deps, in_venv) validate_env.UnmetDependenciesException: Environment requires following Python dependencies: awscrt (required: ('>=0.12.4', '<0.17.0')) (version installed: None) We recommend using --with-download-deps flag to automatically create a virtualenv and download the dependencies. If you want to manage the dependencies yourself instead, run the following pip command: /Users/username/.envs/env3.11/bin/python -m pip install --prefer-binary 'awscrt>=0.12.4,<0.17.0' configure: error: "Python dependencies not met."
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "./configure" checking for a Python interpreter with version >= 3.8... python checking for python... /Users/username/.envs/env3.11/bin/python checking for python version... 3.11 checking for python platform... darwin checking for GNU default python prefix... ${prefix} checking for GNU default python exec_prefix... ${exec_prefix} checking for python script directory (pythondir)... ${PYTHON_PREFIX}/lib/python3.11/site-packages checking for python extension module directory (pyexecdir)... ${PYTHON_EXEC_PREFIX}/lib/python3.11/site-packages checking for --with-install-type... system-sandbox checking for --with-download-deps... Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 125, in <module> main() File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 121, in main parsed_args.func(parsed_args) File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 49, in validate validate_env(parsed_args.artifact) File "/Users/username/aws-code/aws-cli/./backends/build_system/validate_env.py", line 68, in validate_env raise UnmetDependenciesException(unmet_deps, in_venv) validate_env.UnmetDependenciesException: Environment requires following Python dependencies: awscrt (required: ('>=0.12.4', '<0.17.0')) (version installed: None) We recommend using --with-download-deps flag to automatically create a virtualenv and download the dependencies. If you want to manage the dependencies yourself instead, run the following pip command: /Users/username/.envs/env3.11/bin/python -m pip install --prefer-binary 'awscrt>=0.12.4,<0.17.0' configure: error: "Python dependencies not met."

Verwenden Sie die Option --with-download-deps, um die erforderlichen Python-Abhängigkeiten automatisch zu installieren. Wenn Sie dieses Flag verwenden, führt der Build-Prozess Folgendes aus:

  • Überspringen der Abhängigkeitsprüfung der Python-Bibliothek.

  • Konfigurieren der Einstellungen, um alle erforderlichen Python-Abhängigkeiten herunterzuladen und nur die heruntergeladenen Abhängigkeiten zu verwenden, um die AWS CLI während des make-Builds zu erstellen.

Das folgende Konfigurationsbefehlsbeispiel verwendet die Option --with-download-deps zum Herunterladen und Verwenden der Python-Abhängigkeiten:

Linux and macOS
$ ./configure --with-download-deps
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "./configure --with-download-deps"

Installationstyp

Der Quellinstallationsprozess unterstützt die folgenden Installationstypen:

  • system-sandbox(Standard) Erstellt eine isolierte virtuelle Python-Umgebung, installiert die AWS CLI in der virtuellen Umgebung und stellt in der virtuellen Umgebung symbolische Links zu den ausführbaren aws- und aws_completer-Dateien her. Diese Installation der AWS CLI hängt für die Laufzeit direkt vom ausgewählten Python-Interpreter ab.

    Dies ist ein einfacher Installationsmechanismus, um die AWS CLI in einem System zu installieren. Er folgt bewährten Python-Praktiken, indem die Installation in einer virtuellen Umgebung per Sandboxing durchgeführt wird. Diese Installation ist für Kunden gedacht, die die AWS CLI so reibungslos wie möglich aus der Quelle installieren möchten, indem die Installation an Ihre Python-Installation gekoppelt wird.

  • portable-exe – Friert die AWS CLI in einer eigenständigen ausführbaren Datei ein, die an Umgebungen mit ähnlichen Architekturen verteilt werden kann. Dies ist derselbe Prozess, der verwendet wird, um die offiziellen vordefinierten ausführbaren Dateien der AWS CLI zu generieren. Das portable-exe friert eine Kopie des Python-Interpreters ein, der im configure-Schritt ausgewählt wurde, um ihn für die Laufzeit der AWS CLI zu verwenden. Dadurch kann sie auf andere Computer verschoben werden, die möglicherweise keinen Python-Interpreter haben.

    Diese Art von Builds ist nützlich, da Sie damit sicherstellen können, dass Ihre AWS CLI-Installation nicht an die in der Umgebung installierte Python-Version gekoppelt ist und Sie einen Build auf ein anderes System verteilen können, auf dem Python möglicherweise noch nicht installiert ist. Auf diese Weise können Sie die Abhängigkeiten und die Sicherheit der von Ihnen verwendeten ausführbaren AWS CLI-Dateien kontrollieren.

Um den Installationstyp zu konfigurieren, verwenden Sie die Option --with-install-type und geben Sie einen Wert von portable-exe oder system-sandbox an.

Der folgende ./configure-Befehl gibt den Wert portable-exe an:

Linux and macOS
$ ./configure --with-install-type=portable-exe
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "./configure --with-install-type=portable-exe"

Schritt 3: Erstellen der AWS CLI

Verwenden Sie den make-Befehl, um die AWS CLI mit Ihren Konfigurationseinstellungen zu erstellen:

Linux and macOS
$ make
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "make"
Anmerkung
Wenn Sie den make-Befehl verwenden, werden die folgenden Schritte im Hintergrund ausgeführt:
  1. Eine virtuelle Umgebung wird im Build-Verzeichnis mithilfe des venv-Python-Moduls erstellt. Die virtuelle Umgebung wird mit einer Version von Pip gebootet, die in der Python-Standardbibliothek angeboten wird.

  2. Kopieren der Abhängigkeiten der Python-Bibliothek. Je nachdem, ob das --with-download-deps-Flag im configure-Befehl angegeben ist, führt dieser Schritt eine der folgenden Aktionen aus:

    • Der --with-download-deps wird angegeben. Python-Abhängigkeiten sind Pip-installiert. Dies beinhaltet wheel, setuptools und alle AWS CLI-Laufzeitabhängigkeiten. Wenn Sie das portable-exe erstellen, wird pyinstaller installiert. Diese Anforderungen sind alle in den aus pip-compile generierten Sperrdateien spezifiziert.

    • Das --with-download-deps wird nicht angegeben. Python-Bibliotheken aus dem Site-Paket des Python-Interpreters sowie alle Skripte (z. B. pyinstaller) werden in die virtuelle Umgebung kopiert, die für den Build verwendet wird.

  3. pip install wird direkt auf der AWS CLI-Codebasis ausgeführt, um einen Offline-Build innerhalb des Baums durchzuführen und die Installation der AWS CLI in der virtuellen Build-Umgebung durchzuführen. Diese Installation verwendet die Pip-Flags --no-build-isolation, --use-feature=in-tree-build, --no-cache-dir und --no-index.

  4. (Optional) Wenn das portable-exe im configure-Befehl auf --install-type gesetzt ist, wird eine eigenständige ausführbare Datei mithilfe von pyinstaller erstellt.

Schritt 4: Installieren der AWS CLI

Der make install-Befehl installiert Ihre erstellte AWS CLI am konfigurierten Speicherort im System.

Linux and macOS

Das folgende Befehlsbeispiel installiert die AWS CLI unter Verwendung Ihrer Konfigurations- und Build-Einstellungen:

$ make install
Windows PowerShell

Das folgende Befehlsbeispiel installiert die AWS CLI unter Verwendung Ihrer Konfigurations- und Build-Einstellungen und fügt dann eine Umgebungsvariable mit dem Pfad für die AWS CLI hinzu:

PS C:\> C:\msys64\usr\bin\bash -lc " make install " PS C:\> $Env:PATH +=";C:\Program Files\AWSCLI\bin\"

Die make install-Regel unterstützt die DESTDIR-Variable. Wenn angegeben, setzt diese Variable den angegebenen Pfad dem bereits konfigurierten Installationspfad bei der Installation der AWS CLI voran. Standardmäßig ist für diese Variable kein Wert festgelegt.

Linux and macOS

Im folgenden Codebeispiel wird ein --prefix=/usr/local-Flag für die Konfiguration eines Installationsverzeichnisses verwendet. Anschließend wird dieses Ziel mithilfe von DESTDIR=/tmp/stage für den make install-Befehl geändert. Diese Befehle führen dazu, dass die AWS CLI unter /tmp/stage/usr/local/lib/aws-cli installiert wird und sich ihre ausführbaren Dateien in /tmp/stage/usr/local/bin befinden.

$ ./configure --prefix=/usr/local $ make $ make DESTDIR=/tmp/stage install
Windows PowerShell

Im folgenden Codebeispiel wird ein --prefix=\awscli-Flag für die Konfiguration eines Installationsverzeichnisses verwendet. Anschließend wird dieses Ziel mithilfe von DESTDIR=C:\Program Files für den make install-Befehl geändert. Diese Befehle führen dazu, dass die AWS CLI unter C:\Program Files\awscli installiert wird.

$ ./configure --prefix=\awscli $ make $ make DESTDIR='C:\Program Files' install
Anmerkung
Bei der Ausführung von make install werden die folgenden Schritte im Hintergrund ausgeführt
  1. Verschieben einer der folgenden Dateien in das konfigurierte Installationsverzeichnis:

    • Wenn der Installationstyp system-sandbox ist, wird Ihre erstellte virtuelle Umgebung verschoben.

    • Wenn der Installationstyp portable-exe ist, wird Ihre erstellte eigenständige ausführbare Datei verschoben.

  2. Erzeugt Symlinks sowohl für die ausführbaren aws- als auch für die aws_completer-Dateien in Ihrem konfigurierten Bin-Verzeichnis.

Schritt 5: Überprüfen der AWS CLI-Installation

Bestätigen Sie die erfolgreiche AWS CLI-Installation mit dem folgenden Befehl:

$ aws --version aws-cli/2.27.41 Python/3.11.6 Windows/10 exe/AMD64 prompt/off

Wenn der aws-Befehl nicht erkannt wird, müssen Sie möglicherweise Ihr Terminal neu starten, damit die neuen Symlinks aktualisiert werden. Wenn nach der Installation oder Deinstallation der AWS CLI Fehler auftreten, finden Sie unter Behebung von Fehlern für den AWS CLI Informationen zur Fehlerbehebung.

Workflow-Beispiele

Dieser Abschnitt enthält einige grundlegende Workflow-Beispiele für die Installation aus der Quelle.

Grundlegende Linux- und macOS-Installation

Das folgende Beispiel ist ein grundlegender Installationsablauf, bei dem die AWS CLI im Standardverzeichnis von /usr/local/lib/aws-cli installiert wird.

$ cd path/to/cli/respository/ $ ./configure $ make $ make install

Automatisierte Windows-Installation

Anmerkung

Sie müssen PowerShell als Administrator ausführen, um diesen Workflow verwenden zu können.

MSYS2 kann automatisiert in einer CI-Einstellung verwendet werden, siehe Verwenden von MSYS2 in CI in der MSYS2-Dokumentation.

Downloaded Tarball

Laden Sie die Datei awscli.tar.gz herunter und installieren Sie die AWS CLI. Ersetzen Sie die folgenden Pfade, wenn Sie die folgenden Befehle verwenden:

  • C:\msys64\usr\bin\bash durch den Speicherort Ihres MSYS2-Pfads.

  • .\awscli-2.x.x\ durch den Namen des entpackten awscli.tar.gz-Ordners.

  • PYTHON='C:\path\to\python.exe' durch Ihren lokalen Python-Pfad.

Das folgende Codebeispiel automatisiert die Erstellung und Installation der AWS CLI von PowerShell aus mithilfe von MSYS2 und gibt an, welche lokale Python-Installation verwendet werden soll:

PS C:\> curl "https://awscli.amazonaws.com/awscli.tar.gz" -o "awscliv2.zip" # Download the awscli.tar.gz file in the current working directory PS C:\> tar -xvzf .\awscli.tar.gz # Extract awscli.tar.gz file PS C:\> cd .\awscli-2.x.x\ # Navigate to the root of the extracted files PS C:\> $env:CHERE_INVOKING = 'yes' # Preserve the current working directory PS C:\> C:\msys64\usr\bin\bash -lc " PYTHON='C:\path\to\python.exe' ./configure --prefix='C:\Program Files\AWSCLI' --with-download-deps " PS C:\> C:\msys64\usr\bin\bash -lc "make" PS C:\> C:\msys64\usr\bin\bash -lc "make install" PS C:\> $Env:PATH +=";C:\Program Files\AWSCLI\bin\" PS C:\> aws --version aws-cli/2.27.41 Python/3.11.6 Windows/10 source-sandbox/AMD64
GitHub Repository

Laden Sie die Datei awscli.tar.gz herunter und installieren Sie die AWS CLI. Ersetzen Sie die folgenden Pfade, wenn Sie die folgenden Befehle verwenden:

  • C:\msys64\usr\bin\bash durch den Speicherort Ihres MSYS2-Pfads.

  • C:path\to\cli\repository\ durch den Pfad zu Ihrem geklonten AWS CLI-Repository von GitHub. Weitere Informationen finden Sie unter Fork a repo (Verzweigen eines Repositorys) in den GitHub-Dokumenten

  • PYTHON='C:\path\to\python.exe' durch Ihren lokalen Python-Pfad.

Das folgende Codebeispiel automatisiert die Erstellung und Installation der AWS CLI von PowerShell aus mithilfe von MSYS2 und gibt an, welche lokale Python-Installation verwendet werden soll:

PS C:\> cd C:path\to\cli\repository\ PS C:\> $env:CHERE_INVOKING = 'yes' # Preserve the current working directory PS C:\> C:\msys64\usr\bin\bash -lc " PYTHON='C:\path\to\python.exe' ./configure --prefix='C:\Program Files\AWSCLI' --with-download-deps " PS C:\> C:\msys64\usr\bin\bash -lc "make" PS C:\> C:\msys64\usr\bin\bash -lc "make install" PS C:\> $Env:PATH +=";C:\Program Files\AWSCLI\bin\" PS C:\> aws --version

Alpine Linux-Container

Im Folgenden finden Sie ein Beispiel für eine Docker-Datei, die verwendet werden kann, um eine funktionierende Installation der AWS CLI in einem Alpine-Linux-Container als Alternative zu vordefinierten Binärdateien für Alpine zu erhalten. Wenn Sie dieses Beispiel verwenden, ersetzen Sie AWSCLI_VERSION durch die gewünschte AWS CLI-Versionsnummer:

FROM python:3.8-alpine AS builder ENV AWSCLI_VERSION=2.10.1 RUN apk add --no-cache \ curl \ make \ cmake \ gcc \ g++ \ libc-dev \ libffi-dev \ openssl-dev \ && curl https://awscli.amazonaws.com/awscli-${AWSCLI_VERSION}.tar.gz | tar -xz \ && cd awscli-${AWSCLI_VERSION} \ && ./configure --prefix=/opt/aws-cli/ --with-download-deps \ && make \ && make install FROM python:3.8-alpine RUN apk --no-cache add groff COPY --from=builder /opt/aws-cli/ /opt/aws-cli/ ENTRYPOINT ["/opt/aws-cli/bin/aws"]

Dieses Image wird erstellt und die AWS CLI wird aus einem Container aufgerufen, der dem Container ähnelt, der auf Amazon Linux 2 erstellt wurde:

$ docker build --tag awscli-alpine . $ docker run --rm -it awscli-alpine --version aws-cli/2.2.1 Python/3.8.11 Linux/5.10.25-linuxkit source-sandbox/x86_64.alpine.3 prompt/off

Die endgültige Größe dieses Images ist kleiner als die Größe des offiziellen AWS CLI-Docker-Images. Informationen zum offiziellen Docker-Image finden Sie unter Ausführen der offiziellen Amazon-ECR-Public- oder Docker-Images für die AWS CLI.

Beheben von Fehlern beim Installieren und Deinstallieren der AWS CLI

Schritte zur Behebung von Installationsfehlern finden Sie unter Behebung von Fehlern für den AWS CLI Allgemeine Schritte zur Problembehandlung. Die wichtigsten Maßnahmen zur Fehlerbehebung finden Sie unter Fehler aufgrund eines nicht gefundenen Befehls, Der Befehl „aws --version“ gibt eine andere als die installierte Version zurück und Der Befehl "aws --version" gibt nach der Deinstallation von eine Version zurück AWS CLI.

Suchen Sie bei Problemen, die nicht in den Leitfäden zur Fehlerbehebung behandelt werden, im AWS CLI-Repository auf GitHub nach den Problemen mit dem source-distribution-Etikett. Wenn keine der vorhandenen Probleme Ihre Fehler abdecken, erstellen Sie ein neues Problem, um Hilfe von den AWS CLI-Maintainern zu erhalten.

Nächste Schritte

Nach der Installation der AWS CLI sollten Sie einen Einrichtung der AWS CLI ausführen.