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

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

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

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


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

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


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.


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

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


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.



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

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 .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.