¿Cómo actualizar AWS CLI a la última versión?

138

Recientemente me di cuenta de que estoy ejecutando una versión anterior de AWS CLI que carece de alguna funcionalidad que necesito:

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

¿Cómo puedo actualizar a la última versión de AWS CLI (1.10.24)?

Editar:

Ejecutar el siguiente comando no puede actualizar AWS CLI:

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

Comprobando la versión:

$ aws --version
aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic
Boreal
fuente
1
Tuve esta misma situación y fue causado por el aws cli que se instaló originalmente a través de apt-get install awscli. La solución fue eliminarlo primero ( apt-get remove awscli) y seguir las pip installrespuestas a continuación.
Darren Reid
Lo hice (apt-get remove awscli) pero luego de seguir los comandos (pip install ...) no puedo encontrar el awscli ejecutable. La salida de (pip install ...) dice que se instaló correctamente.
NKM
Si no uso la opción "--user" en la instalación de pip, podría encontrar el ejecutable awscli en / usr / local / bin (estoy en Debian Jessie). Pero con la opción --user, el exec no está disponible en ~ / .local o en ninguna de las carpetas del paquete de instalación de Python (dist-package o site-package).
NKM

Respuestas:

109

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

Para actualizar una instalación de AWS CLI existente, use la opción --upgrade:

pip install --upgrade awscli
Vijay Dev
fuente
Me sale el siguiente mensaje: Requirement already up-to-date: awscli in /usr/local/lib/python2.7/dist-packages. Aunque cuando corro aws --version, consigo aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic.
Borealis
23
Intenta instalar PIP3 --upgrade awscli
RaviTezu
12
Correr sudo pip3 install --upgrade awscliy un reinicio hicieron el truco. Gracias por la ayuda.
Borealis
19
Solo se requiere reiniciar después de instalar aws cli.
JoeTidee
3
No puedo creer que sea necesario reiniciar , pero en este caso fue más rápido reiniciar mi vm que encontrar una alternativa [que 'reiniciar vudú' es para Windows].
toddkaufmann
49

En Linux y MacOS X, estos son los tres comandos que corresponden a cada paso:

$ 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
fuente
3
la actualización a través de pipno funcionó para mí; eliminarlo awsy volver a instalarlo de esta manera funcionó.
BM
1
Salvaste mi día. AWS se está volviendo pobre en su documentación.
Kannaiyan
esta opción funcionó para mí, ya que necesitaba actualizar /usr/local/aws(no /home/ubuntu/.local/bin/aws) para ser utilizado por el usuario de jenkins
hit3k
La documentación de AWS se está deteriorando rápidamente. Esta es la respuesta correcta, no puedo entender por qué el interrogador aceptó una respuesta que claramente dijo que en su edición no funcionó: los paquetes pip a menudo están detrás de la última versión actual, lo cual es un problema cuando se usan cosas nuevas como EKS . Nota: Tuve que salir del shell e iniciar sesión nuevamente para que el comando aws recogiera la nueva versión. No tengo idea de por qué.
Dick Chesterwood el
24

Esto no funciona:

pip install --upgrade awscli

Esto funcionó bien en Ubuntu 14.04 (no es necesario reiniciar también ... Primero tendría que instalar pip3):

pip3 install --upgrade awscli

Deepak Singhal
fuente
44
Esto puede requerir: apt-get install python3-pip cualquier comando funciona igual de bien para mí en Ubuntu 14.04.
dannyman
13

Para Ubuntu 16.04 utilicé partes de las otras respuestas y comentarios y simplemente volví a cargar bash en lugar de reiniciar.

Instalé aws-cli usando apt, así que eliminé eso primero:

sudo apt-get remove awscli

Entonces pip install (elegí usar sudo para instalar globalmente con pip2):

sudo pip install -U awscli

Como estaba haciendo esto en un servidor, no quería reiniciarlo, pero recargar bash hizo el truco:

source ~/.bashrc

En este punto, podría usar la nueva versión de aws cli

aws --version
petroleyum
fuente
1
Gracias por el source ~/.bashrcpaso. :)
Pratik Patel
8

Intenta sudo pip install --upgrade awscliy abre un nuevo shell. Esto funcionó bien para mí (no es necesario reiniciar).

Hadi Pouransari
fuente
En Mac OS, tuve que ejecutar sudo pip install --upgrade awsclimi máquina para poder desinstalar la versión anterior de awscli (después de que la actualización inicial se ejecutó con éxito)
Lynn Langit
4

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

Esto actualizará todos los módulos necesarios.

Kc Bickey
fuente
en mi máquina jenkins no quería desinstalar explícitamente el cli, ¡así que utilicé este método y funcioné de maravilla!
URB
4

Si tiene problemas para instalar la AWS CLI usando pip, puede usar el "Instalador incluido" como se documenta aquí .

Los pasos discutidos allí son los siguientes:

$ 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 su versión de AWS CLI posteriormente como un control de sanidad que todo se ejecutó correctamente:

$ aws --version

Si la CLI de AWS no se actualizó a la última versión como se esperaba, tal vez los binarios de la CLI de AWS se encuentren en otro lugar, como suponen los comandos dados anteriormente.

Determine desde dónde se ejecuta AWS CLI desde:

$ which aws

En mi caso, se estaba ejecutando AWS CLI /bin/aws, por lo que tuve que instalar el "Instalador incluido" usando esa ubicación de la siguiente manera:

$ sudo ./awscli-bundle/install -i /user/local/aws -b /bin/aws
NS du Toit
fuente
usar el instalador incluido de alguna manera hace que la imagen del acoplador resultante sea MÁS GRANDE que usar pip ... alucinante
Chad Grant
Puede ser necesario abrir un nuevo shell después de la instalación; por alguna razón, "aws" no apunta a la nueva instalación hasta que salga y reinicie.
Dick Chesterwood el
4

En Mac puedes usar homebrew:

instalar: brew install awscli

Para actualizar: brew upgrade awscli

Asegúrate de no tener varias instalaciones: where aws

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

La --upgradeopción le dice a pip que actualice los requisitos que ya están instalados. La --useropción le dice a pip que instale el programa en un subdirectorio de su directorio de usuarios para evitar modificar las bibliotecas utilizadas por su sistema operativo.

Semir Hodzic
fuente
0

Cuando uso sudo pip install --upgrade awsclirecibí el siguiente error:

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

Al usar sudo con la opción -H, podría solucionar el problema.

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

Actualmente, el uso de la pipa le conseguirá la versión antigua de awscli, 1.18.103.

La última versión de aws-cli, 2.0.33está en la v2 rama . Puede descargar el instalador para Linux, Windows y macOS desde aquí .

Ben Butterworth
fuente