Crie e instale o a AWS CLI partir do código-fonte - AWS Command Line Interface

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Crie e instale o a AWS CLI partir do código-fonte

Este tópico descreve como usar o código-fonte para instalar ou atualizar para a versão mais recente da AWS Command Line Interface (AWS CLI) em sistemas operacionais compatíveis.

Para obter informações sobre as versões mais recentes do AWS CLI, consulte o Changelog da AWS CLI versão 2 ativado. GitHub

Importante

AWS CLI as versões 1 e 2 usam o mesmo nome de aws comando. Se você instalou anteriormente a AWS CLI versão 1, consulteMigrar da AWS CLI versão 1 para a versão 2.

Por que compilar usando o código-fonte?

O AWS CLI está disponível como instaladores pré-construídos para a maioria das plataformas e ambientes, bem como como uma imagem do Docker.

Geralmente, esses instaladores oferecem cobertura para a maioria dos casos de uso. As instruções de instalação usando o código-fonte servem para ajudar nos casos de uso que nossos instaladores não cobrem. Alguns dos casos de uso incluem o seguinte:

  • Os instaladores predefinidos não oferecem suporte ao seu ambiente. Por exemplo, o ARM de 32 bits não é compatível com instaladores predefinidos.

  • Os instaladores predefinidos têm dependências que seu ambiente não tem. Por exemplo, o Alpine Linux usa musl, mas os instaladores atuais exigem glibc, o que impede que os instaladores predefinidos funcionem imediatamente.

  • Os instaladores predefinidos exigem recursos aos quais seu ambiente restringe o acesso. Por exemplo, sistemas com segurança reforçada podem não conceder permissões à memória compartilhada. Isso é necessário para o instalador congelado aws.

  • Os instaladores predefinidos geralmente são bloqueadores para mantenedores em gerenciadores de pacotes, já que há preferência pelo controle total sobre o processo de compilação de código e pacotes. A criação a partir do código-fonte permite que os mantenedores da distribuição tenham um processo mais simplificado para manter a atualização. AWS CLI A habilitação de mantenedores fornece aos clientes mais up-to-date versões do AWS CLI ao instalar a partir de um gerenciador de pacotes terceirizadobrew, comoyum, e. apt

  • Os clientes que corrigem a AWS CLI funcionalidade precisam criar e instalar a AWS CLI partir da fonte. Isso é especialmente importante para membros da comunidade que desejam testar as alterações feitas na fonte antes de contribuir com a alteração para o AWS CLI GitHub repositório.

Etapas rápidas

nota

Assume-se que todos os exemplos de código são executados da raiz do diretório do código-fonte.

Para criar e instalar o a AWS CLI partir do código-fonte, siga as etapas nesta seção. A AWS CLI utiliza o GNU Autotools para instalar pelo código-fonte. No caso mais simples, o AWS CLI pode ser instalado a partir da fonte executando os comandos de exemplo padrão na raiz do AWS CLI GitHub repositório.

  1. Configure todos os requisitos para o seu ambiente. Isso inclui ser capaz de executar arquivos gerados pelo GNU Autotools e instalar o Python 3.8 ou posterior.

  2. No seu terminal, navegue até o nível superior da pasta de AWS CLI origem e execute o ./configure comando. Esse comando verifica o sistema em busca de todas as dependências necessárias e gera uma Makefile para criar e instalar o AWS CLI com base nas configurações detectadas e especificadas.

    Linux and macOS

    O exemplo de ./configure comando a seguir define a configuração de compilação para o AWS CLI uso das configurações padrão.

    $ ./configure
    Windows PowerShell

    Antes de executar qualquer comando que chame MSYS2, você deve preservar seu diretório de trabalho atual:

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

    Em seguida, use o exemplo de ./configure comando a seguir para definir a configuração de compilação para AWS CLI usar seu caminho local para o executável do Python, instalar em C:\Program Files\ e baixar todas as AWSCLI dependências.

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

    Para obter detalhes, opções de configuração disponíveis e informações de configuração padrão, consulte a seção Etapa 2: Configurar a instalação da AWS CLI pelo código-fonte .

  3. Execute o comando make. Esse comando cria o de AWS CLI acordo com suas configurações.

    O exemplo de comando make a seguir é compilado com opções padrão usando suas configurações de ./configure existentes.

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

    Para obter detalhes e opções de compilação disponíveis, consulte a seção Etapa 3: Compilar a AWS CLI.

  4. Execute o comando make install. Esse comando instala a AWS CLI compilada no local configurado em seu sistema.

    O exemplo de comando make install a seguir instala a AWS CLI compilada e cria symlinks em seus locais configurados usando as configurações de comando padrão.

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

    Após a instalação, adicione o caminho ao AWS CLI usando o seguinte:

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

    Para obter detalhes e opções de instalação disponíveis, consulte a seção Etapa 4: Instalar a AWS CLI.

  5. Confirme a instalação AWS CLI bem-sucedida usando o seguinte comando:

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

    Para obter as etapas de solução de problemas para erros de instalação, consulte a seção Solução de problemas de erros de AWS CLI instalação e desinstalação.

Etapa 1: Configurar todos os requisitos

Para criar a AWS CLI partir do código-fonte, você precisa preencher o seguinte com antecedência:

nota

Assume-se que todos os exemplos de código são executados da raiz do diretório do código-fonte.

  1. Faça o download da AWS CLI fonte bifurcando o AWS CLI GitHub repositório ou baixando o tarball de origem. As instruções são uma das seguintes opções:

    • Bifurque e clone o AWS CLI repositório de. GitHub Para obter mais informações, consulte Bifurcar um repositório no GitHub Docs.

    • Baixe o tarball mais recente da fonte em https://awscli.amazonaws.com/awscli.tar.gz e extraia o conteúdo usando os seguintes comandos:

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

      Para baixar uma versão específica, use o seguinte formato de link: https://awscli.amazonaws.com/awscli-númerodaversão.tar.gz

      Por exemplo, para a versão 2.10.0, o link é o seguinte: https://awscli.amazonaws.com/awscli-2.10.0.tar.gz

      As versões da fonte estão disponíveis a partir da versão 2.10.0 da AWS CLI.

      (Opcional) Verificar a integridade do arquivo zip baixado ao realizar as seguintes etapas:

      1. É possível usar as etapas a seguir para verificar as assinaturas usando a ferramenta GnuPG.

        Os .zip arquivos do pacote do AWS CLI instalador são assinados criptograficamente usando assinaturas PGP. Se houver qualquer dano ou alteração dos arquivos, ocorrerá uma falha nessa verificação e você não deverá prosseguir com a instalação.

      2. Baixe e instale o comando gpg usando o gerenciador de pacotes. Para obter mais informações sobre a GnuPG, consulte o site da GnuPG.

      3. Para criar o arquivo de chave pública, crie um arquivo de texto e cole o texto a seguir.

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

        Para referência, veja a seguir os detalhes da chave pública.

        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. Importe a chave AWS CLI pública com o comando a seguir, public-key-file-namesubstituindo-a pelo nome do arquivo da chave pública que você criou.

        $ 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. Baixe o arquivo de AWS CLI assinatura do pacote que você baixou em https://awscli.amazonaws.com/awscli.tar.gz.sig. Ele tem o mesmo caminho e nome do arquivo tarball ao qual ele corresponde, mas tem a extensão .sig. Salve-o no mesmo caminho do arquivo tarball. Ou use o bloco de comandos a seguir:

        $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli.tar.gz.sig
      6. Verifique a assinatura, passando os nomes dos arquivos .sig e .zip baixados como parâmetros para o comando gpg.

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

        A saída deve ser semelhante à seguinte.

        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

        O aviso na saída é esperado e não indica um problema. Isso ocorre porque não há uma cadeia de confiança entre a chave PGP pessoal (se você tiver uma) e a chave PGP da AWS CLI . Para obter mais informações, consulte Web of trust.

  2. Você tem um ambiente que pode executar arquivos gerados pelo GNU Autotools, como configure e Makefile. Esses arquivos são amplamente transportáveis entre as plataformas POSIX.

    Linux and macOS

    Se o Autotools ainda não estiver instalado em seu ambiente ou se você precisar atualizá-lo, siga as instruções de instalação em How do I install the Autotools (as user)? [Como instalar o Autotools (como usuário)?] ou Basic Installation (Instalação básica) na documentação da GNU.

    Windows PowerShell
    Atenção

    Se você estiver em um ambiente Windows, sugerimos que use os instaladores predefinidos. Para obter instruções de instalação sobre os instaladores predefinidos, consulte Instalar ou atualizar para a versão mais recente da AWS CLI

    Como o Windows não vem com um shell compatível com POSIX, você precisa instalar software adicional para instalar o do AWS CLI código-fonte. O MSYS2 fornece um conjunto de ferramentas e bibliotecas para ajudar a compilar e instalar software do Windows, especialmente para os scripts baseados em POSIX que o Autotools usa.

    1. Instale o MSYS2. Para obter informações sobre como instalar e usar o MSYS2, consulte as instruções de instalação e uso na documentação do MSYS2.

    2. Abra o terminal MSYS2 e instale o Autotools usando o comando a seguir.

      $ pacman -S autotools
    nota

    Ao usar os exemplos de código de configuração, compilação e instalação neste guia para Windows, assume-se o caminho de instalação padrão do MSYS2 de C:\msys64\usr\bin\bash. Ao chamar o MSYS2 dentro de PowerShell você estará usando o seguinte formato, com o comando bash entre aspas:

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

    O exemplo de comando a seguir chama o comando ./configure.

    PS C:\> C:\msys64\usr\bin\bash -lc "./configure"
  3. Um intérprete Python 3.8 ou posterior é instalado. A versão mínima exigida do Python segue os mesmos cronogramas da política oficial de suporte do Python para SDKs e ferramentas. AWS Um intérprete só é suportado 6 meses após sua end-of-support data.

  4. (Opcional) Instale todas as dependências da biblioteca Python de compilação e execução da AWS CLI. O comando ./configure informa se está faltando alguma dependência e como instalá-la.

    Você pode instalar e usar automaticamente essas dependências durante o processo de configuração. Consulte Download de dependências para obter mais informações.

Etapa 2: Configurar a instalação da AWS CLI pelo código-fonte

A configuração para criar e instalar o AWS CLI é especificada usando o configure script. Para obter a documentação de todas as opções de configuração, execute o script configure com a opção --help:

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

Local de instalação

A instalação de origem do AWS CLI usa dois diretórios configuráveis para instalar o: AWS CLI

  • libdir- Diretório principal onde o AWS CLI será instalado. O caminho para a AWS CLI instalação é<libdir-value>/aws-cli. O valor padrão de libdir para Linux e macOS é /usr/local/lib, o que faz com que o diretório de instalação padrão seja /usr/local/lib/aws-cli.

  • bindir- Diretório onde os AWS CLI executáveis estão instalados. O local padrão é /usr/local/bin.

As seguintes opções de configure controlam os diretórios usados:

  • --prefix: define o prefixo do diretório a ser usado na instalação. O valor padrão para Linux e macOS é /usr/local.

  • --libdir: define o libdir a ser usado para instalar a AWS CLI. O valor padrão é <prefix-value>/lib. Se --libdir e --prefix não forem especificados, o padrão para Linux e macOS será /usr/local/lib/.

  • --bindir- Define o bindir a ser usado para instalar os AWS CLI aws aws_completer executáveis e. O valor padrão é <prefix-value>/bin. Se bindir e --prefix não forem especificados, o padrão para Linux e macOS será /usr/local/bin/.

Linux and macOS

O exemplo de comando a seguir usa a opção --prefix para fazer uma instalação de usuário local da AWS CLI. Esse comando instala o AWS CLI in $HOME/.local/lib/aws-cli e os executáveis em: $HOME/.local/bin

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

O exemplo de comando a seguir usa a --libdir opção de instalar o AWS CLI como um aplicativo complementar no /opt diretório. Esse comando instala o AWS CLI at /opt/aws-cli e os executáveis em seu local padrão de. /usr/local/bin

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

O exemplo de comando a seguir usa a opção --prefix para fazer uma instalação de usuário local da AWS CLI. Esse comando instala o AWS CLI in $HOME/.local/lib/aws-cli e os executáveis em: $HOME/.local/bin

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

O exemplo de comando a seguir usa a --libdir opção de instalar o AWS CLI como um aplicativo complementar no /opt diretório. Esse comando instala o AWS CLI at. C:\Program Files\AWSCLI\opt\aws-cli

Intérprete Python

nota

É altamente recomendável especificar o intérprete Python durante a instalação para Windows.

O ./configure script seleciona automaticamente um interpretador Python 3.8 ou posterior instalado para usar na criação e execução AWS CLI do usando a macro Autoconf. AM_PATH_PYTHON

O intérprete Python a ser usado pode ser definido explicitamente usando a variável de ambiente PYTHON ao executar o 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"

Download de dependências

Por padrão, todas as dependências de compilação e de tempo de execução da AWS CLI já devem estar instaladas no sistema. Isso inclui todas as dependências da biblioteca Python. Todas as dependências são verificadas quando o script configure é executado; se o sistema não tiver uma das dependências do Python, o script configure retornará um erro.

O seguinte exemplo de código retorna um erro quando o sistema não tem uma das dependências:

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

Para instalar automaticamente as dependências necessárias do Python, use a opção --with-download-deps. Ao usar esse sinalizador, o processo de compilação faz o seguinte:

  • Ignora a verificação de dependências da biblioteca Python.

  • Define as configurações para baixar todas as dependências necessárias do Python e usar somente as dependências baixadas para compilá-las durante a compilação AWS CLI . make

O seguinte exemplo de comando de configuração usa a opção --with-download-deps para fazer download e usar as dependências do Python:

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

Tipo de instalação

O processo de instalação pelo código-fonte é compatível com os seguintes tipos de instalação:

  • system-sandbox- (Padrão) Cria um ambiente virtual Python isolado, instala o AWS CLI no ambiente virtual e cria links simbólicos para o aws aws_completer executável no ambiente virtual. Essa instalação do AWS CLI depende diretamente do interpretador Python selecionado para seu tempo de execução.

    Esse é um mecanismo de instalação leve para AWS CLI instalá-lo em um sistema e segue as melhores práticas de Python ao colocar a instalação em sandbox em um ambiente virtual. Essa instalação é destinada a clientes que desejam instalar o AWS CLI do código-fonte da maneira mais simples possível com a instalação acoplada à sua instalação do Python.

  • portable-exe- Congela o AWS CLI em um executável autônomo que pode ser distribuído para ambientes de arquiteturas semelhantes. Esse é o mesmo processo usado para gerar os executáveis oficiais predefinidos da AWS CLI. O portable-exe congela em uma cópia do intérprete Python escolhido na etapa configure a ser usada para o tempo de execução da AWS CLI. Isso permite que ela seja movida para outras máquinas que podem não ter um intérprete Python.

    Esse tipo de compilação é útil porque você pode garantir que sua AWS CLI instalação não esteja acoplada à versão do Python instalada no ambiente e distribuir uma compilação para outro sistema que talvez ainda não tenha o Python instalado. Isso permite que você controle as dependências e a segurança nos AWS CLI executáveis que você usa.

Para configurar o tipo de instalação, use a opção --with-install-type e especifique um valor de portable-exe ou system-sandbox.

O seguinte exemplo de comando ./configure especifica um valor 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"

Etapa 3: Compilar a AWS CLI

Use o make comando para criar o AWS CLI usando suas configurações:

Linux and macOS
$ make
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "make"
nota
Ao usar o comando make, as seguintes etapas são concluídas em segundo plano:
  1. Um ambiente virtual é criado no diretório de compilação usando o módulo venv do Python. O ambiente virtual é inicializado com uma versão do pip que é fornecida na biblioteca padrão do Python.

  2. Copia as dependências da biblioteca Python. Dependendo de o sinalizador --with-download-deps ter sido especificado ou não no comando configure, esta etapa executa uma das seguintes ações:

    • O --with-download-deps é especificado. As dependências do Python são instaladas por pip. Isso inclui wheel, setuptools e todas as dependências de tempo de execução da AWS CLI . Se você estiver compilando o portable-exe, pyinstaller será instalado. Esses requisitos são todos especificados em arquivos de bloqueio gerados de pip-compile.

    • O --with-download-deps não é especificado. As bibliotecas Python do pacote do site do intérprete Python e quaisquer scripts (por exemplo, pyinstaller) são copiados para o ambiente virtual que está sendo usado para a compilação.

  3. É executado pip install diretamente na AWS CLI base de código para fazer uma compilação offline e em árvore e instalar o AWS CLI no ambiente virtual de compilação. Essa instalação usa os sinalizadores pip -- no-build-isolation , in-tree-build --use-feature=, -- e. no-cache-dir --no-index

  4. (Opcional) Se o --install-type estiver definido como portable-exe no comando configure, um executável independente é compilado usando pyinstaller.

Etapa 4: Instalar a AWS CLI

O make install comando instala sua AWS CLI compilação no local configurado no sistema.

Linux and macOS

O exemplo de comando a seguir instala o AWS CLI usando suas configurações e configurações de compilação:

$ make install
Windows PowerShell

O exemplo de comando a seguir instala o AWS CLI usando suas configurações e configurações de compilação e, em seguida, adiciona uma variável de ambiente com o caminho para o AWS CLI:

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

A regra make install é compatível com a variável DESTDIR. Quando especificada, essa variável prefixa o caminho indicado no caminho de instalação já configurado ao instalar a AWS CLI. Por padrão, nenhum valor é definido para essa variável.

Linux and macOS

O seguinte exemplo de código usa um sinalizador --prefix=/usr/local para configurar um local de instalação, depois altera esse destino usando DESTDIR=/tmp/stage para o comando make install. Esses comandos resultam na instalação da AWS CLI em /tmp/stage/usr/local/lib/aws-cli e na localização dos executáveis em /tmp/stage/usr/local/bin.

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

O seguinte exemplo de código usa um sinalizador --prefix=\awscli para configurar um local de instalação, depois altera esse destino usando DESTDIR=C:\Program Files para o comando make install. Esses comandos resultam na instalação da AWS CLI em C:\Program Files\awscli.

$ ./configure --prefix=\awscli $ make $ make DESTDIR='C:\Program Files' install
nota
Ao executar make install, as seguintes etapas são concluídas em segundo plano:
  1. Move um dos seguintes para o diretório de instalação configurado:

    • Se o tipo de instalação for system-sandbox, moverá o ambiente virtual compilado.

    • Se o tipo de instalação for portable-exe, moverá o executável independente compilado.

  2. Cria symlinks para os executáveis aws e aws_completer no diretório bin configurado.

Etapa 5: Verificar a instalação da AWS CLI

Confirme a instalação AWS CLI bem-sucedida usando o seguinte comando:

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

Se o comando aws não for reconhecido, poderá ser necessário reiniciar o terminal para que novos symlinks sejam atualizados. Se você encontrar problemas adicionais após instalar ou desinstalar o AWS CLI, consulte as etapas comuns Solucionar erros da AWS CLI de solução de problemas

Exemplos de fluxo de trabalho

Esta seção fornece alguns exemplos básicos de fluxo de trabalho para instalação usando o código-fonte.

Instalação básica em Linux e macOS

O exemplo a seguir é um fluxo de trabalho de instalação básico em AWS CLI que o é instalado no local padrão do/usr/local/lib/aws-cli.

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

Instalação automatizada em Windows

nota

Você deve executar PowerShell como administrador para usar esse fluxo de trabalho.

O MSYS2 pode ser usado de forma automatizada em uma configuração de CI. Consulte Using MSYS2 in CI (Como usar o MSYS2 em CI) na documentação do MSYS2.

Downloaded Tarball

Faça download do arquivo awscli.tar.gz, depois extraia e instale a AWS CLI. Ao usar os comandos abaixo, substitua os seguintes caminhos:

  • C:\msys64\usr\bin\bash pelo caminho do MSYS2.

  • .\awscli-2.x.x\ pelo nome da pasta de extração de awscli.tar.gz.

  • PYTHON='C:\path\to\python.exe' pelo caminho local do Python.

O exemplo de código a seguir automatiza a criação e a instalação do AWS CLI from PowerShell usando o MSYS2 e especifica qual instalação local do Python usar:

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

Faça download do arquivo awscli.tar.gz, depois extraia e instale a AWS CLI. Ao usar os comandos abaixo, substitua os seguintes caminhos:

  • C:\msys64\usr\bin\bash pelo caminho do MSYS2.

  • C:path\to\cli\repository\com o caminho para seu AWS CLI repositório clonado de. GitHub Para obter mais informações, consulte Bifurcar um repositório no Docs GitHub

  • PYTHON='C:\path\to\python.exe' pelo caminho local do Python.

O exemplo de código a seguir automatiza a criação e a instalação do AWS CLI from PowerShell usando o MSYS2 e especifica qual instalação local do Python usar:

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

Contêiner do Alpine Linux

Abaixo está um exemplo de Dockerfile que pode ser usado para obter uma instalação funcional do AWS CLI em um contêiner Alpine Linux como alternativa aos binários pré-construídos para o Alpine. Ao usar este exemplo, AWSCLI_VERSIONsubstitua pelo número da AWS CLI versão desejada:

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

Essa imagem é criada e AWS CLI invocada a partir de um contêiner semelhante ao criado no 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

O tamanho final dessa imagem é menor que o tamanho da imagem oficial do AWS CLI Docker. Para obter informações sobre a imagem do Docker oficial, consulte Execute a AWS CLI partir das imagens oficiais do Amazon ECR Public ou Docker.

Solução de problemas de erros de AWS CLI instalação e desinstalação

Para obter as etapas de solução de problemas para erros de instalação comuns, consulte Solucionar erros da AWS CLI. Para obter os passos mais relevantes para a solução de problemas, consulte Erros de comando não encontrado, O comando “aws --version” retorna uma versão diferente da que você instalou e O comando “aws --version” retorna uma versão após a desinstalação da AWS CLI.

Para quaisquer problemas não abordados nos guias de solução de problemas, pesquise os problemas com o source-distribution rótulo no AWS CLI Repositório ativado GitHub. Se nenhum problema existente cobrir seus erros, crie um novo problema para receber ajuda dos AWS CLI mantenedores.

Próximas etapas

Depois de instalar o AWS CLI, você deve executar umConfigure o AWS CLI.