Comment mettre à niveau l'AWS CLI vers la dernière version?

138

J'ai récemment remarqué que j'exécutais une ancienne version de l'AWS CLI qui ne dispose pas de certaines fonctionnalités dont j'ai besoin:

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

Comment puis-je mettre à niveau vers la dernière version de l'AWS CLI (1.10.24)?

Éditer:

L'exécution de la commande suivante ne parvient pas à mettre à jour l'AWS CLI:

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

Vérification de la version:

$ aws --version
aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic
Borealis
la source
1
J'ai eu cette même situation et a été causée par le cli aws installé à l'origine via apt-get install awscli. La solution était de le supprimer d'abord ( apt-get remove awscli) et de suivre les pip installréponses ci-dessous.
Darren Reid
Je l'ai fait (apt-get remove awscli) mais après avoir suivi les commandes (pip install ...), je ne trouve pas l'exécutable awscli. La sortie de (pip install ...) indique que l'installation a réussi.
NKM
Si je n'utilise pas l'option "--user" dans l'installation de pip, je pourrais trouver l'exécutable awscli sous / usr / local / bin (je suis sur Debian Jessie). Mais avec l'option --user, exec n'est pas disponible dans ~ / .local ou dans aucun des dossiers du package d'installation de python (dist-package ou site-package).
NKM

Réponses:

109

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

Pour mettre à niveau une installation AWS CLI existante, utilisez l'option --upgrade:

pip install --upgrade awscli
Vijay Dev
la source
Je reçois le message suivant: Requirement already up-to-date: awscli in /usr/local/lib/python2.7/dist-packages. Bien que quand je cours aws --version, je reçois aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic.
Borealis
23
Essayez pip3 install --upgrade awscli
RaviTezu
12
L'exécution sudo pip3 install --upgrade awscliet un redémarrage ont fait l'affaire. Merci pour l'aide.
Borealis
19
Un simple redémarrage est nécessaire après l'installation de aws cli.
JoeTidee
3
Je ne peux pas croire qu'un redémarrage soit nécessaire , mais dans ce cas, il était plus rapide de redémarrer ma vm que de trouver une alternative [que «reboot voodoo» est pour Windows].
toddkaufmann
49

Sous Linux et MacOS X, voici les trois commandes qui correspondent à chaque étape:

$ 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
la source
3
la mise à jour via pipn'a pas fonctionné pour moi - la suppression awset la réinstallation de cette façon ont fonctionné.
BM
1
Tu as sauvé ma journée. AWS perd sa documentation.
Kannaiyan
cette option a fonctionné pour moi que je avais besoin de mettre à niveau /usr/local/aws(non /home/ubuntu/.local/bin/aws) à utiliser par jenkins utilisateur
hit3k
La documentation d'AWS se détériore en effet rapidement. C'est la bonne réponse, je ne peux pas comprendre pourquoi le questionneur a accepté une réponse qu'il avait clairement indiquée dans sa modification n'a pas fonctionné - les packages pip sont souvent derrière la dernière version actuelle, ce qui est un problème lors de l'utilisation de nouveaux éléments comme EKS . Remarque: j'ai dû quitter le shell et me reconnecter pour que la commande aws récupère la nouvelle version. Je ne sais pas pourquoi.
Dick Chesterwood le
24

Cela ne fonctionne pas:

pip install --upgrade awscli

Cela a bien fonctionné sur Ubuntu 14.04 (pas besoin de redémarrer également. Vous devrez d'abord installer pip3):

pip3 install --upgrade awscli

Deepak Singhal
la source
4
Cela peut nécessiter: l'une apt-get install python3-pip ou l'autre des commandes fonctionne également bien pour moi sur Ubuntu 14.04.
dannyman
13

Pour Ubuntu 16.04, j'ai utilisé des parties des autres réponses et commentaires et j'ai simplement rechargé bash au lieu de redémarrer.

J'ai installé aws-cli en utilisant apt, donc j'ai d'abord supprimé:

sudo apt-get remove awscli

Ensuite, je pourrais pip installer (j'ai choisi d'utiliser sudo pour installer globalement avec pip2):

sudo pip install -U awscli

Puisque je faisais cela sur un serveur, je ne voulais pas le redémarrer, mais le rechargement de bash a fait l'affaire:

source ~/.bashrc

À ce stade, je pourrais utiliser la nouvelle version de aws cli

aws --version
petroleyum
la source
1
Merci pour l' source ~/.bashrcétape. :)
Pratik Patel
8

Essayez sudo pip install --upgrade awscliet ouvrez un nouveau shell. Cela a bien fonctionné pour moi (pas besoin de redémarrer).

Hadi Pouransari
la source
Sous Mac OS, je devais exécuter sudo pip install --upgrade awsclipour que ma machine puisse désinstaller la version précédente de awscli (après la mise à niveau initiale réussie)
Lynn Langit
4

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

Cela mettra à niveau tous les modules requis.

Kc Bickey
la source
sur ma machine jenkins, je ne voulais pas désinstaller explicitement le cli, alors j'ai utilisé cette méthode et j'ai travaillé comme un charme!
URB
4

Si vous rencontrez des difficultés pour installer l'AWS CLI à l'aide de, pipvous pouvez utiliser le «programme d'installation fourni» comme indiqué ici .

Les étapes décrites ici sont les suivantes:

$ 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

Vérifiez ensuite la version de votre AWS CLI pour vérifier que tout s'est exécuté correctement:

$ aws --version

Si l'AWS CLI n'a pas mis à jour vers la dernière version comme prévu, peut-être que les binaires AWS CLI sont situés ailleurs, comme le supposent les commandes précédemment données.

Déterminez d'où l'AWS CLI est exécutée à partir de:

$ which aws

Dans mon cas, AWS CLI était en cours d'exécution à partir de /bin/aws, j'ai donc dû installer le «programme d'installation fourni» en utilisant cet emplacement comme suit:

$ sudo ./awscli-bundle/install -i /user/local/aws -b /bin/aws
NS du Toit
la source
l'utilisation du programme d'installation fourni rend l'image de docker résultante PLUS GRANDE que l'utilisation de pip ... hallucinant
Chad Grant
Il peut être nécessaire d'ouvrir un nouveau shell après l'installation - pour une raison quelconque, "aws" ne pointe pas vers la nouvelle installation avant de quitter et de redémarrer.
Dick Chesterwood le
4

Sur Mac, vous pouvez utiliser homebrew:

à installer: brew install awscli

mettre à niveau: brew upgrade awscli

Assurez-vous de ne pas avoir plusieurs installations: where aws

Daniel
la source
2
pip install awscli --upgrade --user

L' --upgradeoption indique à pip de mettre à niveau toutes les exigences déjà installées. L' --useroption indique à pip d'installer le programme dans un sous-répertoire de votre répertoire utilisateur pour éviter de modifier les bibliothèques utilisées par votre système d'exploitation.

Semir Hodzic
la source
0

Nous pouvons suivre les commandes ci-dessous pour installer l'AWS CLI sur UBUNTU:

sudo apt installer curl

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

décompressez awscli-bundle.zip

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

rm -rf awscli-bundle.zip awscli-bundle

Pour tester: aws - version

Pour plus d'informations :

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

Gurudath BN
la source
0

Lors de l'utilisation, sudo pip install --upgrade awsclij'ai l'erreur suivante:

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

En utilisant sudo avec l'option -H, je pourrais résoudre le problème.

sudo -H pip install --upgrade awscli
Stefan Rode
la source
0

À l' heure actuelle, en utilisant pip vous obtiendrez la version ancienne de awscli, 1.18.103.

La dernière version d'aws-cli, 2.0.33est sur la v2 branche . Vous pouvez télécharger le programme d'installation pour Linux, Windows et macOS à partir d' ici .

Ben Butterworth
la source