Créez et installez le AWS CLI depuis le code source - AWS Command Line Interface

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Créez et installez le AWS CLI depuis le code source

Cette rubrique décrit comment installer ou mettre à jour depuis le code source vers la dernière version de AWS Command Line Interface (AWS CLI) sur les systèmes d'exploitation pris en charge.

Pour plus d'informations sur les dernières versions de AWS CLI, consultez le journal des modifications de la AWS CLI version 2 sur. GitHub

Important

AWS CLI les versions 1 et 2 utilisent le même nom de aws commande. Si vous avez déjà installé AWS CLI la version 1, consultezMigrer de AWS CLI la version 1 vers AWS CLI la version 2.

Pourquoi créer à partir des sources ?

AWS CLI Il est disponible sous forme d'installateurs prédéfinis pour la plupart des plateformes et environnements, ainsi que sous forme d'image Docker.

En général, ces installateurs fournissent une couverture pour la plupart des cas d'utilisation. Les instructions d'installation à partir des sources ont pour but de vous aider à résoudre les cas d'utilisation que nos installateurs ne couvrent pas. Certains de ces cas d'utilisation sont les suivants :

  • Les programmes d'installation prédéfinis ne sont pas compatibles avec votre environnement. Par exemple, ARM 32 bits n'est pas pris en charge par les programmes d'installation prédéfinis.

  • Les programmes d'installation prédéfinis comportent des dépendances qui font défaut à votre environnement. Par exemple, Alpine Linux l'utilise musl, mais les programmes d'installation actuels nécessitent que glibc les programmes d'installation prédéfinis ne fonctionnent pas immédiatement.

  • Les installateurs prédéfinis nécessitent des ressources auxquelles votre environnement restreint l'accès. Par exemple, les systèmes de sécurité renforcés peuvent ne pas autoriser l'accès à la mémoire partagée. Cela est nécessaire pour le programme d'awsinstallation gelé.

  • Les installateurs prédéfinis sont souvent des bloqueurs pour les responsables des gestionnaires de paquets, car il est préférable de contrôler totalement le processus de création du code et des packages. La création à partir des sources permet aux responsables de la distribution de rationaliser le processus pour maintenir les AWS CLI mises à jour. L'activation des responsables fournit aux clients davantage de up-to-date versions du AWS CLI lors de l'installation à partir d'un gestionnaire de packages tiers tel que brewyum, et. apt

  • Les clients qui utilisent des AWS CLI fonctionnalités de correctif doivent les créer et les installer AWS CLI depuis le code source. Cela est particulièrement important pour les membres de la communauté qui souhaitent tester les modifications qu'ils ont apportées à la source avant de les apporter au AWS CLI GitHub dépôt.

Étapes rapides

Note

Tous les exemples de code sont supposés s'exécuter à partir de la racine du répertoire source.

Pour créer et installer le AWS CLI depuis le code source, suivez les étapes décrites dans cette section. Il AWS CLI utilise GNU Autotools pour l'installer à partir des sources. Dans le cas le plus simple, AWS CLI vous pouvez l'installer à partir de la source en exécutant les exemples de commandes par défaut depuis la racine du AWS CLI GitHub référentiel.

  1. Configurez toutes les exigences pour votre environnement. Cela inclut la possibilité d'exécuter des fichiers générés par GNU Autotools et d'installer Python 3.8 ou une version ultérieure.

  2. Dans votre terminal, naviguez jusqu'au niveau supérieur du dossier AWS CLI source et exécutez la ./configure commande. Cette commande vérifie le système pour toutes les dépendances requises et génère un fichier Makefile pour la création et l'installation AWS CLI en fonction des configurations détectées et spécifiées.

    Linux and macOS

    L'exemple de ./configure commande suivant définit la configuration de construction pour l' AWS CLI utilisation des paramètres par défaut.

    $ ./configure
    Windows PowerShell

    Avant d'exécuter une commande appelant MSYS2, vous devez conserver votre répertoire de travail actuel :

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

    Utilisez ensuite l'exemple de ./configure commande suivant pour définir la configuration de compilation afin d' AWS CLI utiliser votre chemin local vers votre exécutable Python, de l'installer dans C:\Program Files \ AWSCLI et de télécharger toutes les dépendances.

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

    Pour plus de détails, les options de configuration disponibles et les informations sur les paramètres par défaut, consultez la Étape 2 : Configuration de l'installation AWS CLI source section.

  3. Exécutez la commande make. Cette commande crée le AWS CLI en fonction de vos paramètres de configuration.

    L'exemple de make commande suivant utilise les options par défaut en utilisant vos ./configure paramètres existants.

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

    Pour plus de détails et les options de compilation disponibles, consultez la Étape 3 : Création du AWS CLI section.

  4. Exécutez la commande make install. Cette commande installe votre build AWS CLI à l'emplacement configuré sur votre système.

    L'exemple de make install commande suivant installe votre build AWS CLI et crée des liens symboliques dans les emplacements que vous avez configurés à l'aide des paramètres de commande par défaut.

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

    Après l'installation, ajoutez le chemin à l' AWS CLI aide de ce qui suit :

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

    Pour plus de détails et les options d'installation disponibles, consultez la Étape 4 : Installation du AWS CLI section.

  5. Confirmez l'installation AWS CLI avec succès à l'aide de la commande suivante :

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

    Pour les étapes de résolution des erreurs d'installation, consultez la Résolution des erreurs AWS CLI d'installation et de désinstallation section.

Étape 1 : Configuration de toutes les exigences

Pour créer le fichier AWS CLI à partir des sources, vous devez au préalable remplir les conditions suivantes :

Note

Tous les exemples de code sont supposés s'exécuter à partir de la racine du répertoire source.

  1. Téléchargez le AWS CLI code source en bifurquant le AWS CLI GitHub dépôt ou en téléchargeant l'archive source. Les instructions sont les suivantes :

    • Forker et cloner le AWS CLI dépôt à partir de GitHub. Pour plus d'informations, voir Forker un dépôt dans la GitHubdocumentation.

    • Téléchargez la dernière archive source à l'adresse https://awscli.amazonaws.com/awscli.tar.gz pour en extraire le contenu à l'aide des commandes suivantes :

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

      Pour télécharger une version spécifique, utilisez le format de lien suivant : https://awscli.amazonaws.com/awscli - versionnumber .tar.gz

      Par exemple, pour la version 2.10.0, le lien est le suivant : https://awscli.amazonaws.com/awscli - 2.10.0 .tar.gz

      Les versions source sont disponibles à partir de la version 2.10.0 du. AWS CLI

      (Facultatif) Vérifiez l'intégrité du fichier zip que vous avez téléchargé en effectuant les étapes suivantes :

      1. Vous pouvez utiliser les étapes suivantes pour vérifier les signatures à l'aide de l'outil GnuPG.

        Les .zip fichiers du package AWS CLI d'installation sont signés cryptographiquement à l'aide de signatures PGP. En cas de dommage ou d'altération des fichiers, cette vérification échoue et vous ne devez pas poursuivre l'installation.

      2. Téléchargez et installez la commande gpg à l'aide de votre gestionnaire de packages. Pour de plus amples informations sur GnuPG, veuillez consulter le site Web GnuPG.

      3. Pour créer le fichier de clé publique, créez un fichier texte et collez le texte suivant.

        -----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 tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4WIQT7 Xbd/1cEYuAURraimMQrMRnJHXAUCXYKvtQIbAwUJB4TOAAULCQgHAgYVCgkICwIE FgIDAQIeAQIXgAAKCRCmMQrMRnJHXJIXEAChLUIkg80uPUkGjE3jejvQSA1aWuAM yzy6fdpdlRUz6M6nmsUhOExjVIvibEJpzK5mhuSZ4lb0vJ2ZUPgCv4zs2nBd7BGJ MxKiWgBReGvTdqZ0SzyYH4PYCJSE732x/Fw9hfnh1dMTXNcrQXzwOmmFNNegG0Ox au+VnpcR5Kz3smiTrIwZbRudo1ijhCYPQ7t5CMp9kjC6bObvy1hSIg2xNbMAN/Do ikebAl36uA6Y/Uczjj3GxZW4ZWeFirMidKbtqvUz2y0UFszobjiBSqZZHCreC34B hw9bFNpuWC/0SrXgohdsc6vK50pDGdV5kM2qo9tMQ/izsAwTh/d/GzZv8H4lV9eO tEis+EpR497PaxKKh9tJf0N6Q1YLRHof5xePZtOIlS3gfvsH5hXA3HJ9yIxb8T0H QYmVr3aIUes20i6meI3fuV36VFupwfrTKaL7VXnsrK2fq5cRvyJLNzXucg0WAjPF RrAGLzY7nP1xeg1a0aeP+pdsqjqlPJom8OCWc1+6DWbg0jsC74WoesAqgBItODMB rsal1y/q+bPzpsnWjzHV8+1/EtZmSc8ZUGSJOPkfC7hObnfkl18h+1QtKTjZme4d H17gsBJr+opwJw/Zio2LMjQBOqlm3K1A4zFTh7wBC7He6KPQea1p2XAMgtvATtNe YLZATHZKTJyiqA== =vYOk -----END PGP PUBLIC KEY BLOCK-----

        Pour référence, les détails de la clé publique sont les suivants.

        Key ID: A6310ACC4672 Type: RSA Size: 4096/4096 Created: 2019-09-18 Expires: 2023-09-17 User ID: AWS CLI Team <aws-cli@amazon.com> Key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
      4. Importez la clé AWS CLI publique à l'aide de la commande suivante, en la public-key-file-nameremplaçant par le nom de fichier de la clé publique que vous avez créée.

        $ 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. Téléchargez le fichier de AWS CLI signature du package que vous avez téléchargé à l'adresse https://awscli.amazonaws.com/awscli.tar.gz.sig. Il a le même chemin et le même nom que le fichier tarball auquel il correspond, mais porte l'extension.sig. Enregistrez-le dans le même chemin que le fichier tarball. Ou utilisez le bloc de commande suivant :

        $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli.tar.gz.sig
      6. Vérifiez la signature en transmettant les noms de fichiers .sig et .zip téléchargés sous forme de paramètres à la commande gpg.

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

        La sortie doit ressembler à ce qui suit :

        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
        Important

        L'avertissement mentionné dans la sortie est attendu et n'indique pas de problème. Cet avertissement est dû au fait qu'il n'y a pas de chaîne de confiance entre votre clé PGP personnelle (si vous en avez une) et la clé PGP de l' AWS CLI . Pour de plus amples informations, consultez Web of trust.

  2. Vous disposez d'un environnement capable d'exécuter des fichiers générés par GNU Autotools tels que configure et. Makefile Ces fichiers sont largement portables sur les plateformes POSIX.

    Linux and macOS

    Si Autotools n'est pas encore installé dans votre environnement ou si vous devez le mettre à jour, suivez les instructions d'installation figurant dans Comment installer les Autotools (en tant qu'utilisateur) ? ou Installation de base dans la documentation GNU.

    Windows PowerShell
    Avertissement

    Si vous travaillez dans un environnement Windows, nous vous conseillons d'utiliser les programmes d'installation prédéfinis. Pour les instructions d'installation sur les programmes d'installation prédéfinis, voir Installez ou mettez à jour la dernière version du AWS CLI

    Windows n'étant pas fourni avec un shell compatible POSIX, vous devez installer un logiciel supplémentaire pour installer le shell AWS CLI depuis le code source. MSYS2 fournit un ensemble d'outils et de bibliothèques permettant de créer et d'installer des logiciels Windows, en particulier pour les scripts basés sur POSIX utilisés par Autotools.

    1. Installez MSYS2. Pour plus d'informations sur l'installation et l'utilisation de MSYS2, consultez les instructions d'installation et d'utilisation de la documentation MSYS2.

    2. Ouvrez le terminal MSYS2 et installez les outils automatiques à l'aide de la commande suivante.

      $ pacman -S autotools
    Note

    Lorsque vous utilisez les exemples de code de configuration, de génération et d'installation présentés dans ce guide pour Windows, le chemin d'installation MSYS2 par défaut C:\msys64\usr\bin\bash est supposé. Lorsque vous appelez MSYS2 à l'intérieur, PowerShell vous utiliserez le format suivant, avec la commande bash entre guillemets :

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

    L'exemple de commande suivant appelle la ./configure commande.

    PS C:\> C:\msys64\usr\bin\bash -lc "./configure"
  3. Un interpréteur Python 3.8 ou version ultérieure est installé. La version minimale de Python requise suit les mêmes délais que la politique officielle de support de Python pour les AWS SDK et les outils. Un interprète n'est pris en charge que 6 mois après sa end-of-support date.

  4. (Facultatif) Installez toutes les dépendances de la bibliothèque Python de compilation et d'exécution du AWS CLI. La ./configure commande vous indique s'il vous manque des dépendances et vous indique comment les installer.

    Vous pouvez installer et utiliser automatiquement ces dépendances par le biais de la configuration, voir Téléchargement des dépendances pour plus d'informations.

Étape 2 : Configuration de l'installation AWS CLI source

La configuration pour la création et l'installation du AWS CLI est spécifiée à l'aide du configure script. Pour la documentation de toutes les options de configuration, exécutez le configure script avec l'--helpoption :

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

Emplacement de l'installation

L'installation source du AWS CLI utilise deux répertoires configurables pour installer AWS CLI :

  • libdir- Répertoire parent dans lequel le AWS CLI sera installé. Le chemin d'accès à l' AWS CLI installation est<libdir-value>/aws-cli. La libdir valeur par défaut pour Linux et macOS est de /usr/local/lib définir le répertoire d'installation par défaut /usr/local/lib/aws-cli

  • bindir- Répertoire dans lequel les AWS CLI exécutables sont installés. L'emplacement par défaut est /usr/local/bin.

Les configure options suivantes contrôlent les répertoires utilisés :

  • --prefix- Définit le préfixe de répertoire à utiliser pour l'installation. La valeur par défaut pour Linux et macOS est/usr/local.

  • --libdir- Définit le libdir à utiliser pour installer le AWS CLI. La valeur par défaut est <prefix-value>/lib. Si --libdir les deux ne --prefix sont pas spécifiés, la valeur par défaut pour Linux et macOS est/usr/local/lib/.

  • --bindir- Définit le bindir à utiliser pour installer les aws_completer exécutables AWS CLI aws et. La valeur par défaut est <prefix-value>/bin. Si bindir les deux ne --prefix sont pas spécifiés, la valeur par défaut pour Linux et macOS est/usr/local/bin/.

Linux and macOS

L'exemple de commande suivant utilise l'--prefixoption permettant d'installer le AWS CLI. Cette commande installe le fichier AWS CLI in $HOME/.local/lib/aws-cli et les exécutables dans : $HOME/.local/bin

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

L'exemple de commande suivant utilise l'--libdiroption permettant d'installer l'application en AWS CLI tant qu'application complémentaire dans le /opt répertoire. Cette commande installe le fichier AWS CLI at /opt/aws-cli et les exécutables à leur emplacement par défaut de. /usr/local/bin

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

L'exemple de commande suivant utilise l'--prefixoption permettant d'installer le AWS CLI. Cette commande installe le fichier AWS CLI in $HOME/.local/lib/aws-cli et les exécutables dans : $HOME/.local/bin

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

L'exemple de commande suivant utilise l'--libdiroption permettant d'installer l'application en AWS CLI tant qu'application complémentaire dans le /opt répertoire. Cette commande installe le fichier AWS CLI at. C:\Program Files\AWSCLI\opt\aws-cli

Interpréteur Python

Note

Il est vivement recommandé de spécifier l'interpréteur Python lors de l'installation pour Windows.

Le ./configure script sélectionne automatiquement un interpréteur Python 3.8 ou version ultérieure installé à utiliser pour créer et exécuter la macro à l' AWS CLI aide de la macro AM_PATH_PYTHONAutoconf.

L'interpréteur Python à utiliser peut être défini explicitement à l'aide de la variable d'PYTHONenvironnement lors de l'exécution du configure script :

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

Téléchargement des dépendances

Par défaut, il est nécessaire que toutes les dépendances de build et d'exécution du AWS CLI soient déjà installées sur le système. Cela inclut toutes les dépendances des bibliothèques Python. Toutes les dépendances sont vérifiées lors de l'exécution du configure script, et si aucune dépendance Python n'est absente du système, le configure script émet une erreur.

L'exemple de code suivant génère des erreurs lorsque des dépendances sont absentes de votre système :

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

Pour installer automatiquement les dépendances Python requises, utilisez l'--with-download-depsoption. Lorsque vous utilisez cet indicateur, le processus de génération effectue les opérations suivantes :

  • Ignore la vérification des dépendances de la bibliothèque Python.

  • Configure les paramètres pour télécharger toutes les dépendances Python requises et utiliser uniquement les dépendances téléchargées pour les créer AWS CLI pendant la make construction.

L'exemple de commande de configuration suivant utilise l'--with-download-depsoption permettant de télécharger et d'utiliser les dépendances Python :

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

Type d'installation

Le processus d'installation source prend en charge les types d'installation suivants :

  • system-sandbox- (Par défaut) Crée un environnement virtuel Python isolé, l'installe AWS CLI dans l'environnement virtuel et crée des liens symboliques vers le aws aws_completer fichier exécutable dans l'environnement virtuel. Cette installation de AWS CLI dépend directement de l'interpréteur Python sélectionné pour son exécution.

    Il s'agit d'un mécanisme d'installation léger qui permet de l' AWS CLI installer sur un système et qui suit les meilleures pratiques de Python en sandboxant l'installation dans un environnement virtuel. Cette installation est destinée aux clients qui souhaitent installer le fichier à AWS CLI partir du code source de la manière la plus fluide possible avec l'installation couplée à votre installation de Python.

  • portable-exe- Gèle le fichier AWS CLI dans un exécutable autonome qui peut être distribué dans des environnements d'architectures similaires. Il s'agit du même processus que celui utilisé pour générer les exécutables prédéfinis officiels du. AWS CLI Il portable-exe se bloque dans une copie de l'interpréteur Python choisi à l'configureétape à utiliser pour l'exécution du AWS CLI. Cela permet de le déplacer vers d'autres machines qui ne disposent peut-être pas d'un interpréteur Python.

    Ce type de build est utile car vous pouvez vous assurer que votre AWS CLI installation n'est pas couplée à la version Python installée dans l'environnement et vous pouvez distribuer une version sur un autre système sur lequel Python n'est peut-être pas déjà installé. Cela vous permet de contrôler les dépendances et la sécurité des AWS CLI exécutables que vous utilisez.

Pour configurer le type d'installation, utilisez l'--with-install-typeoption et spécifiez la valeur portable-exe ousystem-sandbox.

L'exemple de ./configure commande suivant spécifie une valeur de portable-exe :

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"

Étape 3 : Création du AWS CLI

Utilisez la make commande pour créer le à l' AWS CLI aide de vos paramètres de configuration :

Linux and macOS
$ make
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "make"
Note
Lorsque vous utilisez la make commande, les étapes suivantes sont effectuées en arrière-plan :
  1. Un environnement virtuel est créé dans le répertoire de construction à l'aide du venvmodule Python. L'environnement virtuel est amorcé avec une version de pip fournie dans la bibliothèque standard Python.

  2. Copie les dépendances de la bibliothèque Python. Selon que l'--with-download-depsindicateur est spécifié dans la configure commande, cette étape effectue l'une des opérations suivantes :

    • Le --with-download-deps est spécifié. Les dépendances Python sont installées par pip. Cela inclut wheelsetuptools, et toutes les dépendances AWS CLI d'exécution. Si vous construisez leportable-exe, pyinstaller est installé. Ces exigences sont toutes spécifiées dans les fichiers de verrouillage générés à partir de pip-compile.

    • Le n'--with-download-depsest pas spécifié. Les bibliothèques Python du package du site de l'interpréteur Python ainsi que tous les scripts (par exemplepyinstaller) sont copiés dans l'environnement virtuel utilisé pour la construction.

  3. S'exécute pip install directement sur la AWS CLI base de code pour effectuer une compilation hors ligne dans l'arborescence et l'installer AWS CLI dans l'environnement virtuel de génération. Cette installation utilise les drapeaux pip -- no-build-isolation , --use-feature= in-tree-build , -- et. no-cache-dir --no-index

  4. (Facultatif) Si le --install-type paramètre est défini sur portable-exe dans la configure commande, crée un exécutable autonome à l'aide pyinstallerde.

Étape 4 : Installation du AWS CLI

La make install commande installe votre build AWS CLI à l'emplacement configuré sur le système.

Linux and macOS

L'exemple de commande suivant installe le à l' AWS CLI aide de vos paramètres de configuration et de compilation :

$ make install
Windows PowerShell

L'exemple de commande suivant installe le à l' AWS CLI aide de vos paramètres de configuration et de compilation, puis ajoute une variable d'environnement avec le chemin pour : AWS CLI

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

La make install règle prend en charge la DESTDIRvariable. Lorsqu'elle est spécifiée, cette variable préfixe le chemin spécifié au chemin d'installation déjà configuré lors de l'installation du AWS CLI. Par défaut, aucune valeur n'est définie pour cette variable.

Linux and macOS

L'exemple de code suivant utilise un --prefix=/usr/local indicateur pour configurer un emplacement d'installation, puis modifie cette destination à l'aide DESTDIR=/tmp/stage de la make install commande. Ces commandes entraînent l'installation AWS CLI sur /tmp/stage/usr/local/lib/aws-cli et la localisation de ses exécutables dans. /tmp/stage/usr/local/bin

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

L'exemple de code suivant utilise un --prefix=\awscli indicateur pour configurer un emplacement d'installation, puis modifie cette destination à l'aide DESTDIR=C:\Program Files de la make install commande. Ces commandes entraînent l' AWS CLI installation surC:\Program Files\awscli.

$ ./configure --prefix=\awscli $ make $ make DESTDIR='C:\Program Files' install
Note
Lors de l'exécutionmake install, les étapes suivantes sont effectuées en arrière-plan
  1. Déplace l'un des éléments suivants vers le répertoire d'installation configuré :

    • Si le type d'installation estsystem-sandbox, déplace votre environnement virtuel créé.

    • Si le type d'installation est unportable-exe, déplace votre exécutable autonome créé.

  2. Crée des liens symboliques pour les aws_completer exécutables aws et dans le répertoire bin que vous avez configuré.

Étape 5 : vérification de l' AWS CLI installation

Confirmez l'installation AWS CLI avec succès à l'aide de la commande suivante :

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

Si la aws commande n'est pas reconnue, vous devrez peut-être redémarrer votre terminal pour mettre à jour les nouveaux liens symboliques. Si vous rencontrez des problèmes supplémentaires après l'installation ou la désinstallation du AWS CLI, consultez les étapes de dépannage Résoudre les erreurs AWS CLI les plus courantes

Exemples de flux de travail

Cette section fournit des exemples de flux de travail de base pour l'installation à partir des sources.

Installation de base de Linux et de macOS

L'exemple suivant est un flux de travail d'installation de base dans lequel le AWS CLI est installé à l'emplacement par défaut de/usr/local/lib/aws-cli.

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

Installation automatique de Windows

Note

Vous devez vous présenter PowerShell en tant qu'administrateur pour utiliser ce flux de travail.

MSYS2 peut être utilisé de manière automatisée dans un paramètre CI, voir Utilisation de MSYS2 dans CI dans la documentation MSYS2.

Downloaded Tarball

Téléchargez le awscli.tar.gz fichier, extrayez-le et installez le AWS CLI. Lorsque vous utilisez les commandes suivantes, remplacez les chemins suivants :

  • C:\msys64\usr\bin\bashavec l'emplacement de votre chemin MSYS2.

  • .\awscli-2.x.x\avec le nom du awscli.tar.gz dossier extrait.

  • PYTHON='C:\path\to\python.exe'avec votre chemin Python local.

L'exemple de code suivant automatise la création et l'installation AWS CLI du formulaire à PowerShell l'aide de MSYS2, et indique l'installation locale de Python à utiliser :

PS C:\> curl -o awscli.tar.gz https://awscli.amazonaws.com/awscli.tar.gz # 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.15.30 Python/3.11.6 Windows/10 source-sandbox/AMD64 prompt/off
GitHub Repository

Téléchargez le awscli.tar.gz fichier, extrayez-le et installez le AWS CLI. Lorsque vous utilisez les commandes suivantes, remplacez les chemins suivants :

  • C:\msys64\usr\bin\bashavec l'emplacement de votre chemin MSYS2.

  • C:path\to\cli\repository\avec le chemin d'accès à votre AWS CLI dépôt cloné depuis GitHub. Pour plus d'informations, voir Forker un dépôt dans la documentation GitHub

  • PYTHON='C:\path\to\python.exe'avec votre chemin Python local.

L'exemple de code suivant automatise la création et l'installation AWS CLI du formulaire à PowerShell l'aide de MSYS2, et indique l'installation locale de Python à utiliser :

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

Conteneur Alpine Linux

Vous trouverez ci-dessous un exemple de Dockerfile qui peut être utilisé pour obtenir une installation fonctionnelle du AWS CLI dans un conteneur Alpine Linux comme alternative aux binaires prédéfinis pour Alpine. Lorsque vous utilisez cet exemple, remplacez-le AWSCLI_VERSIONpar le numéro de AWS CLI version souhaité :

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"]

Cette image est créée puis AWS CLI invoquée à partir d'un conteneur similaire à celui créé sur Amazon Linux 2 :

$ 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

La taille finale de cette image est inférieure à celle de l'image AWS CLI Docker officielle. Pour plus d'informations sur l'image officielle de Docker, consultezExécutez-les à AWS CLI partir d'images Amazon ECR Public ou Docker officielles.

Résolution des erreurs AWS CLI d'installation et de désinstallation

Pour les étapes de résolution des erreurs d'installation, consultez Résoudre les erreurs AWS CLI les étapes de dépannage courantes. Pour connaître les étapes de résolution des problèmes les plus pertinentesErreurs de commande non trouvées, reportez-vous aux La commande « aws --version » renvoie une version différente de celle que vous avez installée sections, etLa commande « aws --version » renvoie une version après avoir désinstallé le AWS CLI.

Pour tout problème non traité dans les guides de résolution des problèmes, recherchez les problèmes avec l'source-distributionétiquette figurant dans le AWS CLI référentiel sur GitHub. Si aucun problème existant ne couvre vos erreurs, créez un nouveau problème pour bénéficier de l'aide des AWS CLI responsables.

Étapes suivantes

Après avoir installé le AWS CLI, vous devez effectuer unConfigurez le AWS CLI.