Como atualizar o AWS CLI para a versão mais recente?

137

Recentemente, notei que estou executando uma versão antiga da AWS CLI que não possui as funcionalidades necessárias:

$aws --version
aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic

Como posso atualizar para a versão mais recente da CLI da AWS (1.10.24)?

Editar:

A execução do comando a seguir falha ao atualizar a CLI da AWS:

$ pip install --upgrade awscli
Requirement already up-to-date: awscli in /usr/local/lib/python2.7/dist-packages
Cleaning up...

Verificando a versão:

$ aws --version
aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic
Borealis
fonte
1
Eu tive essa mesma situação e foi causado pelo aws cli sendo originalmente instalado via apt-get install awscli. A solução foi removê-lo primeiro ( apt-get remove awscli) e seguir as pip installrespostas abaixo.
Darren Reid
Eu fiz (apt-get remove awscli), mas depois de seguir os comandos (pip install ...) não consigo encontrar o executável do awscli. A saída de (instalação do pip ...) diz que foi instalada com sucesso.
NKM
Se eu não usar a opção "--user" na instalação do pip, poderia encontrar o executável awscli em / usr / local / bin (estou no Debian Jessie). Mas com a opção --user, o exec não está disponível em ~ / .local ou em nenhuma pasta do pacote de instalação do python (dist-package ou site-package).
NKM

Respostas:

108

Em http://docs.aws.amazon.com/cli/latest/userguide/installing.html#install-with-pip

Para atualizar uma instalação existente da AWS CLI, use a opção --upgrade:

pip install --upgrade awscli
Vijay Dev
fonte
Eu recebo a seguinte mensagem: Requirement already up-to-date: awscli in /usr/local/lib/python2.7/dist-packages. Embora quando eu corro aws --version, eu recebo aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic.
Borealis
23
Tente PIP3 instalar --upgrade awscli
RaviTezu
12
Correr sudo pip3 install --upgrade awsclie reiniciar fizeram o truque. Obrigado pela ajuda.
Borealis
19
Apenas uma reinicialização é necessária após a instalação do aws cli.
JoeTidee
3
Não acredito que seja necessária uma reinicialização , mas, neste caso, foi mais rápido reiniciar o meu vm do que encontrar uma alternativa [que 'reboot voodoo' seja para windows].
toddkaufmann
49

No Linux e MacOS X, aqui estão os três comandos que correspondem a cada etapa:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
$ unzip awscli-bundle.zip
$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
Andong Zhan
fonte
3
atualizar via pipnão funcionou para mim - excluir awse reinstalá-lo dessa maneira funcionou.
BM
1
Você salvou o meu dia. A AWS está ficando fraca em sua documentação.
Kannaiyan
esta opção funcionou para mim como eu precisava atualizar /usr/local/aws(não /home/ubuntu/.local/bin/aws) para ser usado por Jenkins usuário
hit3k
A documentação da AWS está realmente se deteriorando rapidamente. Esta é a resposta correta, não consigo entender por que o questionador aceitou uma resposta que eles claramente declararam em sua edição não funcionou - os pacotes pip geralmente estão por trás da atualização mais recente, o que é um problema ao usar coisas novas como o EKS . Nota: Eu tive que sair do shell e efetuar login novamente para o comando aws para pegar a nova versão. Não faço ideia do porquê.
Dick Chesterwood
24

Isso não funciona:

instalação do pip --upgrade awscli

Isso funcionou bem no Ubuntu 14.04 (não há necessidade de reinicializar também .. Você teria que instalar primeiro o pip3):

instalação do pip3 - upgrade awscli

Deepak Singhal
fonte
4
Isso pode exigir: apt-get install python3-pip Qualquer um dos comandos funciona igualmente bem para mim no Ubuntu 14.04.
Dannyman 7/07
12

Para o Ubuntu 16.04, usei partes das outras respostas e comentários e apenas recarreguei o bash em vez de reiniciar.

Eu instalei o aws-cli usando o apt, então removi isso primeiro:

sudo apt-get remove awscli

Então eu poderia instalar o pip (eu escolhi usar o sudo para instalar globalmente com o pip2):

sudo pip install -U awscli

Como eu fazia isso em um servidor, não queria reiniciá-lo, mas recarregar o bash fez o truque:

source ~/.bashrc

Neste ponto, eu poderia usar a nova versão do aws cli

aws --version
petroleiro
fonte
1
Obrigado pela source ~/.bashrcetapa. :) #
Pratik Patel
8

Tente sudo pip install --upgrade awsclie abra um novo shell. Isso funcionou bem para mim (não é necessário reiniciar).

Hadi Pouransari
fonte
No Mac OS, eu tive que correr sudo pip install --upgrade awsclipara a minha máquina para ser capaz de desinstalar a versão anterior do awscli (após a atualização inicial foi executado com êxito)
Lynn Langit
4

Uso simples sudo pip install awscli --force-reinstall --upgrade

Isso atualizará todos os módulos necessários.

Kc Bickey
fonte
na minha máquina jenkins, eu não queria desinstalar explicitamente o cli, então usei esse método e trabalhei como um encanto!
URB
4

Se estiver com problemas para instalar a CLI da AWS, pipuse o "Instalador incluído", conforme documentado aqui .

As etapas discutidas são as seguintes:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
$ unzip awscli-bundle.zip
$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Verifique sua versão da CLI da AWS posteriormente como uma verificação de integridade, se tudo foi executado corretamente:

$ aws --version

Se a CLI da AWS não atualizou para a versão mais recente conforme o esperado, talvez os binários da CLI da AWS estejam localizados em outro lugar, como supõem os comandos fornecidos anteriormente.

Determine de onde a AWS CLI está sendo executada:

$ which aws

No meu caso, a AWS CLI estava sendo executada a partir de /bin/aws, então tive que instalar o "Bundled Installer" usando esse local da seguinte maneira:

$ sudo ./awscli-bundle/install -i /user/local/aws -b /bin/aws
NS du Toit
fonte
usando o instalador incluído de alguma forma faz com que a imagem janela de encaixe resultante maior do que usando pip ... mente soprando
Chad Grant
Pode ser necessário abrir um novo shell após a instalação - por algum motivo "aws" não aponta para a nova instalação até sair e reiniciar.
Dick Chesterwood
4

No Mac, você pode usar o homebrew:

para instalar: brew install awscli

para atualizar: brew upgrade awscli

Verifique se você não possui várias instalações: where aws

Daniel
fonte
2
pip install awscli --upgrade --user

A --upgradeopção informa ao pip para atualizar todos os requisitos que já estão instalados. A --useropção diz ao pip para instalar o programa em um subdiretório do diretório do usuário para evitar a modificação de bibliotecas usadas pelo sistema operacional.

Semir Hodzic
fonte
0

Podemos seguir os comandos abaixo para instalar o AWS CLI no UBUNTU:

sudo apt install curl

curl " https://s3.amazonaws.com/aws-cli/awscli-bundle.zip " -o "awscli-bundle.zip"

descompacte awscli-bundle.zip

sudo ./awscli-bundle/install -i / usr / local / aws -b / usr / local / bin / aws

rm -rf awscli-bundle.zip awscli-bundle

Para testar: aws - versão

Para mais informações :

https://gurudathbn.wordpress.com/2018/03/31/installing-aws-cli-on-ubuntu/

Gurudath BN
fonte
0

Ao usar sudo pip install --upgrade awscli, recebi o seguinte erro:

ERROR: Could not install packages due to an EnvironmentError: [Errno 30] Read-only file system: '/lib'

Usando o sudo com a opção -H, eu poderia resolver o problema.

sudo -H pip install --upgrade awscli
Stefan Rode
fonte
0

Atualmente, usando o pip, você obtém a versão antiga do awscli 1.18.103,.

A versão mais recente do aws-cli, 2.0.33está no v2 ramo . Você pode baixar o instalador para Linux, Windows e macOS aqui .

Ben Butterworth
fonte