Compila e installa il file AWS CLI dal codice sorgente - AWS Command Line Interface

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Compila e installa il file AWS CLI dal codice sorgente

Questo argomento descrive come installare o aggiornare dal codice sorgente all'ultima versione di AWS Command Line Interface (AWS CLI) sui sistemi operativi supportati.

Per informazioni sulle ultime versioni di AWS CLI, consulta il Changelog della AWS CLI versione 2 su. GitHub

Importante

AWS CLI le versioni 1 e 2 utilizzano lo stesso nome di aws comando. Se in precedenza hai installato AWS CLI la versione 1, vediMigrazione dalla AWS CLI versione 1 alla AWS CLI versione 2.

Perché creare partendo dai sorgenti?

AWS CLI È disponibile come programmi di installazione predefiniti per la maggior parte delle piattaforme e degli ambienti, nonché come immagine Docker.

In genere, questi programmi di installazione forniscono una copertura per la maggior parte dei casi d'uso. Le istruzioni per l'installazione dal codice sorgente servono a risolvere i casi d'uso non coperti dai nostri installatori. Alcuni di questi casi d'uso includono quanto segue:

  • I programmi di installazione predefiniti non supportano l'ambiente in uso. Ad esempio, i ARM 32 bit non sono supportati dai programmi di installazione predefiniti.

  • I programmi di installazione predefiniti hanno dipendenze che mancano all'ambiente. Ad esempio, Alpine Linux utilizza musl, ma gli attuali programmi di installazione richiedono glibc che gli installatori predefiniti non funzionino immediatamente.

  • I programmi di installazione predefiniti richiedono risorse a cui l'ambiente limita l'accesso. Ad esempio, i sistemi con protezione avanzata potrebbero non concedere autorizzazioni alla memoria condivisa. Questo è necessario per il programma di installazione aws congelato.

  • Gli installatori predefiniti spesso ostacolano i manutentori dei gestori di pacchetti, in quanto è preferibile avere il pieno controllo sul processo di compilazione del codice e dei pacchetti. La creazione a partire dal codice sorgente consente ai responsabili della distribuzione un processo più semplificato per mantenerli aggiornati. AWS CLI L'abilitazione dei manutentori fornisce ai clienti più up-to-date versioni di AWS CLI quando si installa da un gestore di pacchetti di terze parti come, e. brew yum apt

  • I clienti che dispongono della AWS CLI funzionalità di patch richiedono la creazione e l'installazione del codice AWS CLI sorgente. Ciò è particolarmente importante per i membri della community che desiderano testare le modifiche apportate al codice sorgente prima di apportare la modifica al AWS CLI GitHub repository.

Passaggi rapidi

Nota

Si presume che tutti gli esempi di codice vengano eseguiti dalla radice della directory dei sorgenti.

Per creare e installare il file AWS CLI dal codice sorgente, segui i passaggi descritti in questa sezione. AWS CLI Sfrutta GNUAutotools per l'installazione dal codice sorgente. Nel caso più semplice, AWS CLI può essere installato dal codice sorgente eseguendo i comandi di esempio predefiniti dalla radice del repository. AWS CLI GitHub

  1. Imposta tutti i requisiti per il tuo ambiente. Ciò include la possibilità di eseguire i file generati GNUda Autotools e l'installazione di Python 3.8 o versione successiva.

  2. Nel tuo terminale, vai al livello superiore della cartella dei AWS CLI sorgenti ed esegui il comando. ./configure Questo comando verifica la presenza di tutte le dipendenze richieste nel sistema e genera un comando Makefile per la creazione e l'installazione in AWS CLI base alle configurazioni rilevate e specificate.

    Linux and macOS

    Il seguente esempio di ./configure comando imposta la configurazione di build per l' AWS CLI utilizzo delle impostazioni predefinite.

    $ ./configure
    Windows PowerShell

    Prima di eseguire qualsiasi chiamata ai comandiMSYS2, è necessario conservare la directory di lavoro corrente:

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

    Quindi usa il seguente esempio di ./configure comando per impostare la configurazione di build per l' AWS CLI utilizzo del percorso locale dell'eseguibile Python, l'installazione in C:\Program Files\ AWSCLI e il download di tutte le dipendenze.

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

    Per i dettagli, le opzioni di configurazione disponibili e le informazioni sulle impostazioni predefinite, consultate la Fase 2: Configurazione dell'installazione di origine AWS CLI sezione.

  3. Esegui il comando make. Questo comando crea il file AWS CLI in base alle impostazioni di configurazione.

    Il seguente esempio di make comando crea con le opzioni predefinite utilizzando le impostazioni esistenti./configure.

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

    Per i dettagli e le opzioni di compilazione disponibili, consultate la Fase 3: Creazione di AWS CLI sezione.

  4. Esegui il comando make install. Questo comando installa il build AWS CLI nella posizione configurata del sistema.

    Il seguente esempio di make install comando installa il comando build AWS CLI e crea collegamenti simbolici nelle posizioni configurate utilizzando le impostazioni di comando predefinite.

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

    Dopo l'installazione, aggiungi il percorso a AWS CLI utilizzando quanto segue:

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

    Per i dettagli e le opzioni di installazione disponibili, consulta la Fase 4: Installazione di AWS CLI sezione.

  5. Conferma l' AWS CLI avvenuta installazione utilizzando il seguente comando:

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

    Per la procedura di risoluzione degli errori di installazione, consulta la Risoluzione degli errori di AWS CLI installazione e disinstallazione sezione.

Fase 1: Imposta tutti i requisiti

Per creare il AWS CLI codice sorgente è necessario completare prima quanto segue:

Nota

Si presume che tutti gli esempi di codice vengano eseguiti dalla radice della directory dei sorgenti.

  1. Scaricate il AWS CLI codice sorgente eseguendo il forking del AWS CLI GitHub repository o scaricando il tarball dei sorgenti. Le istruzioni sono una delle seguenti:

    • Fork e clona il AWS CLI repository da. GitHub Per maggiori informazioni, consulta Fork a repo nei Documenti. GitHub

    • Scaricate il tarball dei sorgenti più recente da https://awscli.amazonaws.com/awscli.tar.gz ed estraete il contenuto utilizzando i seguenti comandi:

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

      Per scaricare una versione specifica, utilizzate il seguente formato di collegamento: https://awscli.amazonaws.com /awscli-versionnumber.tar.gz

      Ad esempio, per la versione 2.10.0 il link è il seguente: /awscli- https://awscli.amazonaws.com2.10.0.tar.gz

      Le versioni di origine sono disponibili a partire dalla versione 2.10.0 di. AWS CLI

      (Facoltativo) Verifica dell'integrità del file zip scaricato completando i seguenti passaggi:

      1. Puoi utilizzare le fasi seguenti per verificare le firme tramite lo strumento GnuPG.

        I .zip file del pacchetto di AWS CLI installazione sono firmati crittograficamente mediante firme. PGP Se i file sono in qualche modo danneggiati o alterati, questa verifica non va a buon fine e l'installazione deve essere arrestata.

      2. Scaricare e installare il comando gpg utilizzando il programma di gestione dei pacchetti. Per ulteriori informazioni su GnuPG, consulta il sito Web GnuPG.

      3. Per creare il file della chiave pubblica, creare un file di testo e incollare il testo seguente.

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

        Per riferimento, di seguito sono riportati i dettagli della chiave pubblica.

        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. Importate la chiave AWS CLI pubblica con il seguente comando, sostituendola public-key-file-name con il nome del file della chiave pubblica che hai creato.

        $ 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. Scarica il file della AWS CLI firma per il pacchetto scaricato all'indirizzo https://awscli.amazonaws.com/awscli.tar.gz.sig. Ha lo stesso percorso e lo stesso nome del file tarball a cui corrisponde, ma ha l'estensione. .sig Salvalo nello stesso percorso del file tarball. Oppure usa il seguente blocco di comandi:

        $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli.tar.gz.sig
      6. Verifica la firma, passando entrambi i nomi file .sig e .zip scaricati come parametri del comando gpg.

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

        L'output visualizzato dovrebbe essere simile al seguente:

        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
        Importante

        L'avviso nell'output è previsto e non indica un problema. Si verifica perché non esiste una catena di fiducia tra la PGP chiave personale (se ne hai una) e la AWS CLI PGP chiave. Per ulteriori informazioni, consulta Web of trust.

  2. Hai un ambiente in grado di eseguire file generati GNUda Autotools come e. configure Makefile Questi file sono ampiamente portabili su più piattaforme. POSIX

    Linux and macOS

    Se Autotools non è già installato nel tuo ambiente o devi aggiornarlo, segui le istruzioni di installazione che trovi in Come installo gli Autotools (come utente)? o Installazione di base nella documentazione. GNU

    Windows PowerShell
    avvertimento

    Se utilizzi un ambiente Windows, ti suggeriamo di utilizzare i programmi di installazione predefiniti. Per le istruzioni di installazione sui programmi di installazione predefiniti, vedi Installa o aggiorna alla versione più recente di AWS CLI

    Poiché Windows non è dotato di una shell POSIX conforme a -compiacente, è necessario installare software aggiuntivo per installare il codice sorgente. AWS CLI MSYS2fornisce una raccolta di strumenti e librerie per aiutare a creare e installare software Windows, in particolare per lo scripting POSIX basato su script utilizzato da Autotools.

    1. Installa. MSYS2 Per informazioni sull'installazione e l'usoMSYS2, consulta le istruzioni di installazione e utilizzo nella MSYS2Documentazione.

    2. Apri il MSYS2 terminale e installa gli autotools usando il seguente comando.

      $ pacman -S autotools
    Nota

    Quando si utilizzano gli esempi di codice di configurazione, compilazione e installazione riportati in questa guida per Windows, si presuppone il percorso di MSYS2 installazione predefinito diC:\msys64\usr\bin\bash. Quando chiami MSYS2 inside of PowerShell utilizzerai il seguente formato, con il comando bash tra virgolette:

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

    Il seguente esempio di comando chiama il ./configure comando.

    PS C:\> C:\msys64\usr\bin\bash -lc "./configure"
  3. È installato un interprete Python 3.8 o successivo. La versione minima di Python richiesta segue le stesse tempistiche della politica di supporto Python ufficiale per and Tools. AWS SDKs Un interprete è supportato solo 6 mesi dopo la sua data. end-of-support

  4. (Facoltativo) Installa tutte le dipendenze della libreria Python di build e runtime di. AWS CLI Il ./configure comando informa l'utente se mancano delle dipendenze e come installarle.

    È possibile installare e utilizzare automaticamente queste dipendenze tramite la configurazione, vedere Scaricamento delle dipendenze per ulteriori informazioni.

Fase 2: Configurazione dell'installazione di origine AWS CLI

La configurazione per la creazione e l'installazione di AWS CLI viene specificata utilizzando lo configure script. Per la documentazione di tutte le opzioni di configurazione, esegui configure lo script con l'--helpopzione:

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

Posizione di installazione

L'installazione di origine di AWS CLI utilizza due directory configurabili per installare: AWS CLI

  • libdir- Directory principale in cui AWS CLI verrà installato. Il percorso di AWS CLI installazione è<libdir-value>/aws-cli. Il libdir valore predefinito per Linux e macOS è /usr/local/lib creare la directory di installazione predefinita /usr/local/lib/aws-cli

  • bindir- Directory in cui sono installati gli AWS CLI eseguibili. Il percorso predefinito è /usr/local/bin.

Le seguenti configure opzioni controllano le directory utilizzate:

  • --prefix- Imposta il prefisso di directory da utilizzare per l'installazione. Il valore predefinito per Linux e macOS è. /usr/local

  • --libdir- Imposta l'uso libdir per l' AWS CLI installazione di. Il valore predefinito è <prefix-value>/lib. Se entrambi --libdir e non --prefix sono specificati, l'impostazione predefinita per Linux e macOS è. /usr/local/lib/

  • --bindir- Imposta l'uso bindir per l'installazione di AWS CLI aws ed aws_completer eseguibili. Il valore predefinito è <prefix-value>/bin. Se entrambi bindir e non --prefix sono specificati, l'impostazione predefinita per Linux e macOS è. /usr/local/bin/

Linux and macOS

Il seguente esempio di comando utilizza l'--prefixopzione per eseguire un'installazione utente locale di AWS CLI. Questo comando installa AWS CLI in $HOME/.local/lib/aws-cli e gli eseguibili in: $HOME/.local/bin

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

Il seguente esempio di comando utilizza l'--libdiropzione per installarlo AWS CLI come applicazione aggiuntiva nella directory. /opt Questo comando installa AWS CLI at /opt/aws-cli e gli eseguibili nella posizione predefinita di. /usr/local/bin

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

Il seguente esempio di comando utilizza l'--prefixopzione per eseguire un'installazione locale da parte dell'utente di. AWS CLI Questo comando installa AWS CLI in $HOME/.local/lib/aws-cli e gli eseguibili in: $HOME/.local/bin

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

Il seguente esempio di comando utilizza l'--libdiropzione per installarlo AWS CLI come applicazione aggiuntiva nella directory. /opt Questo comando installa il AWS CLI file at. C:\Program Files\AWSCLI\opt\aws-cli

Interprete Python

Nota

Si consiglia vivamente di specificare l'interprete Python durante l'installazione per Windows.

Lo ./configure script seleziona automaticamente un interprete Python 3.8 o successivo installato da utilizzare nella creazione e nell'esecuzione AWS CLI della macro using the Autoconf. AM_PATH_PYTHON

L'interprete Python da usare può essere impostato esplicitamente utilizzando la variabile di PYTHON ambiente durante l'esecuzione dello script: configure

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

Scaricamento delle dipendenze

Per impostazione predefinita, è necessario che tutte le dipendenze di build e runtime di AWS CLI siano già installate nel sistema. Ciò include tutte le dipendenze della libreria Python. Tutte le dipendenze vengono controllate durante l'esecuzione configure dello script e se nel sistema mancano delle dipendenze Python, configure lo script genera errori.

Il seguente esempio di codice genera errori quando nel sistema mancano le dipendenze:

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

Per installare automaticamente le dipendenze Python richieste, usa l'opzione. --with-download-deps Quando si utilizza questo flag, il processo di compilazione esegue le seguenti operazioni:

  • Salta il controllo delle dipendenze della libreria Python.

  • Configura le impostazioni per scaricare tutte le dipendenze Python richieste e utilizzare solo le dipendenze scaricate per crearle durante la compilazione AWS CLI . make

Il seguente esempio di comando configure utilizza l'--with-download-depsopzione per scaricare e utilizzare le dipendenze Python:

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

Tipo di installazione

Il processo di installazione del codice sorgente supporta i seguenti tipi di installazione:

  • system-sandbox- (Impostazione predefinita) Crea un ambiente virtuale Python isolato, lo installa AWS CLI nell'ambiente virtuale e collega simbolicamente al aws_completer file eseguibile nell'ambiente virtuale. aws Questa installazione di AWS CLI dipende direttamente dall'interprete Python selezionato per il suo runtime.

    Questo è un meccanismo di installazione leggero per installarlo su un sistema e segue le migliori pratiche di Python eseguendo il sandboxing dell'installazione in un ambiente virtuale. AWS CLI Questa installazione è destinata ai clienti che desiderano installare il file AWS CLI dal codice sorgente nel modo più semplice possibile con l'installazione abbinata all'installazione di Python.

  • portable-exe- Lo blocca AWS CLI in un eseguibile autonomo che può essere distribuito in ambienti con architetture simili. Questo è lo stesso processo utilizzato per generare gli eseguibili ufficiali predefiniti di. AWS CLI Si portable-exe blocca in una copia dell'interprete Python scelto nel passaggio da utilizzare per configure il runtime di. AWS CLI Ciò consente di spostarlo su altre macchine che potrebbero non avere un interprete Python.

    Questo tipo di build è utile perché puoi assicurarti che l' AWS CLI installazione non sia abbinata alla versione di Python installata nell'ambiente e puoi distribuire una build su altri sistemi su cui potrebbe non essere già installato Python. Ciò consente di controllare le dipendenze e la sicurezza degli eseguibili utilizzati. AWS CLI

Per configurare il tipo di installazione, utilizzate l'--with-install-typeopzione e specificate il valore o. portable-exe system-sandbox

Il seguente esempio di ./configure comando specifica il valore diportable-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"

Fase 3: Creazione di AWS CLI

Usa il make comando per crearlo AWS CLI usando le tue impostazioni di configurazione:

Linux and macOS
$ make
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "make"
Nota
Quando si utilizza il make comando, i seguenti passaggi vengono completati dietro le quinte:
  1. Un ambiente virtuale viene creato nella directory build utilizzando il modulo Python venv. L'ambiente virtuale viene avviato con una versione di pip fornita nella libreria standard Python.

  2. Copia le dipendenze della libreria Python. A seconda che il --with-download-deps flag sia specificato nel configure comando, questo passaggio esegue una delle seguenti operazioni:

    • Il --with-download-deps è specificato. Le dipendenze Python sono installate con pip. Ciò include e tutte wheel AWS CLI le setuptools dipendenze di runtime. Se si sta costruendo ilportable-exe, pyinstaller viene installato. Questi requisiti sono tutti specificati nei file di blocco generati da pip-compile.

    • Non --with-download-deps è specificato. Le librerie Python del pacchetto del sito dell'interprete Python più eventuali script (ad esempiopyinstaller) vengono copiate nell'ambiente virtuale utilizzato per la compilazione.

  3. Viene eseguito pip install direttamente sulla AWS CLI codebase per eseguire una compilazione offline e nell'albero e l'installazione dell'ambiente virtuale di compilazione. AWS CLI Questa installazione utilizza i flag pip --no-build-isolation , in-tree-build --use-feature=, -- e. no-cache-dir --no-index

  4. (Facoltativo) Se --install-type è impostato su portable-exe nel configure comando, crea un eseguibile autonomo utilizzando. pyinstaller

Fase 4: Installazione di AWS CLI

Il make install comando installa il build AWS CLI nella posizione configurata sul sistema.

Linux and macOS

Il seguente esempio di comando installa le AWS CLI impostazioni di configurazione e compilazione:

$ make install
Windows PowerShell

Il seguente esempio di comando installa le impostazioni AWS CLI using your configuration and build, quindi aggiunge una variabile di ambiente con il percorso per: AWS CLI

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

La make install regola supporta la DESTDIRvariabile. Quando specificata, questa variabile prefissa il percorso specificato al percorso di installazione già configurato durante l'installazione di. AWS CLI Per impostazione predefinita, non è impostato alcun valore per questa variabile.

Linux and macOS

Il seguente esempio di codice utilizza un --prefix=/usr/local flag per configurare una posizione di installazione, quindi modifica tale destinazione utilizzando il make install comando DESTDIR=/tmp/stage for. Questi comandi determinano l'installazione AWS CLI in /tmp/stage/usr/local/lib/aws-cli e i relativi eseguibili si trovano in. /tmp/stage/usr/local/bin

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

Il seguente esempio di codice utilizza un --prefix=\awscli flag per configurare una posizione di installazione, quindi modifica tale destinazione utilizzando il comando DESTDIR=C:\Program Files for. make install Questi comandi comportano l'installazione AWS CLI in. C:\Program Files\awscli

$ ./configure --prefix=\awscli $ make $ make DESTDIR='C:\Program Files' install
Nota
Durante l'esecuzionemake install, i seguenti passaggi vengono completati dietro le quinte
  1. Sposta uno dei seguenti elementi nella directory di installazione configurata:

    • Se il tipo di installazione èsystem-sandbox, sposta l'ambiente virtuale creato.

    • Se il tipo di installazione è aportable-exe, sposta l'eseguibile autonomo integrato.

  2. Crea collegamenti simbolici sia per gli eseguibili che per aws gli aws_completer eseguibili nella directory bin configurata.

Fase 5: Verifica dell'installazione AWS CLI

Conferma l' AWS CLI avvenuta installazione utilizzando il seguente comando:

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

Se il aws comando non viene riconosciuto, potrebbe essere necessario riavviare il terminale per aggiornare i nuovi collegamenti simbolici. Se riscontrate altri problemi dopo l'installazione o la disinstallazione di AWS CLI, consultate le procedure comuni Risolvi gli errori AWS CLI per la risoluzione dei problemi

Esempi di flussi di lavoro

Questa sezione fornisce alcuni esempi di flussi di lavoro di base per l'installazione dal codice sorgente.

Installazione di base per Linux e macOS

L'esempio seguente è un flusso di lavoro di installazione di base in cui AWS CLI viene installato nella posizione predefinita di/usr/local/lib/aws-cli.

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

Installazione automatica di Windows

Nota

È necessario eseguire l'esecuzione PowerShell come amministratore per utilizzare questo flusso di lavoro.

MSYS2può essere utilizzato in modo automatizzato in un'impostazione CI, vedere Utilizzo MSYS2 in CI nella MSYS2documentazione.

Downloaded Tarball

Scarica il awscli.tar.gz file, estrai e installa il AWS CLI. Quando utilizzate i seguenti comandi, sostituite i seguenti percorsi:

  • C:\msys64\usr\bin\bashcon la posizione del MSYS2 percorso.

  • .\awscli-2.x.x\con il nome della awscli.tar.gz cartella estratta.

  • PYTHON='C:\path\to\python.exe'con il tuo percorso Python locale.

Il seguente esempio di codice automatizza la creazione e l'installazione di AWS CLI from PowerShell MSYS2 using e specifica quale installazione locale di Python usare:

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.17.20 Python/3.11.6 Windows/10 source-sandbox/AMD64 prompt/off
GitHub Repository

Scarica il awscli.tar.gz file, estrai e installa. AWS CLI Quando utilizzate i seguenti comandi, sostituite i seguenti percorsi:

  • C:\msys64\usr\bin\bashcon la posizione del MSYS2 percorso.

  • C:path\to\cli\repository\con il percorso del AWS CLI repository clonato da. GitHub Per maggiori informazioni, consulta Fork a repo nei Documenti GitHub

  • PYTHON='C:\path\to\python.exe'con il tuo percorso Python locale.

Il seguente esempio di codice automatizza la creazione e l'installazione di AWS CLI from PowerShell MSYS2 using e specifica quale installazione locale di Python usare:

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

Contenitore Alpine Linux

Di seguito è riportato un esempio di Dockerfile che può essere utilizzato per ottenere un'installazione funzionante di AWS CLI in un contenitore Alpine Linux come alternativa ai binari predefiniti per Alpine. Quando usi questo esempio, sostituisci AWSCLI_VERSION con il numero di AWS CLI versione desiderato:

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

Questa immagine viene creata e AWS CLI richiamata da un contenitore simile a quello creato su 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 dimensione finale di questa immagine è inferiore alla dimensione dell'immagine AWS CLI Docker ufficiale. Per informazioni sull'immagine Docker ufficiale, consulta. Esegui AWS CLI da immagini ufficiali di Amazon ECR Public o Docker

Risoluzione degli errori di AWS CLI installazione e disinstallazione

Per la risoluzione dei problemi relativi agli errori di installazione, consulta Risolvi gli errori AWS CLI le procedure comuni di risoluzione dei problemi. Per le procedure di risoluzione dei problemi più importantiErrori relativi al comando non trovato, consultaIl comando aws --version "" restituisce una versione diversa da quella installata, eIl comando "aws --version" restituisce una versione dopo la disinstallazione di AWS CLI.

Per eventuali problemi non trattati nelle guide alla risoluzione dei problemi, cerca i problemi con l'source-distributionetichetta nel AWS CLI Repository su GitHub. Se nessun problema esistente riguarda i tuoi errori, crea un nuovo problema per ricevere assistenza dai AWS CLI manutentori.

Passaggi successivi

Dopo aver installato il AWS CLI, è necessario eseguire un. Configura il AWS CLI