Jak zaktualizować AWS CLI do najnowszej wersji?

138

Niedawno zauważyłem, że używam starej wersji interfejsu wiersza polecenia AWS, w której brakuje niektórych potrzebnych mi funkcji:

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

Jak mogę zaktualizować do najnowszej wersji interfejsu AWS CLI (1.10.24)?

Edytować:

Uruchomienie następującego polecenia nie powoduje zaktualizowania interfejsu wiersza polecenia AWS:

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

Sprawdzanie wersji:

$ aws --version
aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic
Borealis
źródło
1
Miałem tę samą sytuację i był on spowodowany pierwotną instalacją aws cli za pośrednictwem apt-get install awscli. Rozwiązaniem było usunięcie go najpierw ( apt-get remove awscli) i wykonanie pip installponiższych odpowiedzi.
Darren Reid,
Zrobiłem (apt-get remove awscli), ale po wykonaniu poleceń (pip install ...) nie mogę znaleźć pliku wykonywalnego awscli. Dane wyjściowe (pip install ...) mówią o pomyślnym zainstalowaniu.
NKM
Jeśli nie użyję opcji "--user" w instalacji pip, mogę znaleźć plik wykonywalny awscli w katalogu / usr / local / bin (jestem na Debianie Jessie). Ale z opcją --user exec nie jest dostępny w ~ / .local ani w żadnym z folderów pakietów instalacyjnych Pythona (dist-package lub site-package).
NKM

Odpowiedzi:

109

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

Aby zaktualizować istniejącą instalację interfejsu wiersza polecenia AWS, użyj opcji --upgrade:

pip install --upgrade awscli
Vijay Dev
źródło
Pojawia się następujący komunikat: Requirement already up-to-date: awscli in /usr/local/lib/python2.7/dist-packages. Chociaż kiedy biegnę aws --version, dostaję aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic.
Borealis
23
Spróbuj zainstalować pip3
uaktualnij
12
Uruchomienie sudo pip3 install --upgrade awsclii ponowne uruchomienie załatwiły sprawę. Dzięki za pomoc.
Borealis
19
Po zainstalowaniu aws cli wymagany jest tylko restart.
JoeTidee
3
Nie mogę uwierzyć, że ponowne uruchomienie jest wymagane , ale w tym przypadku szybsze było ponowne uruchomienie mojej maszyny wirtualnej niż znalezienie alternatywy [to „reboot voodoo” dotyczy systemu Windows].
toddkaufmann
49

W systemie Linux i MacOS X oto trzy polecenia odpowiadające każdemu krokowi:

$ 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
źródło
3
aktualizacja przez pipnie działa dla mnie - usunięcie awsi ponowna instalacja w ten sposób zadziałało.
BM
1
Uratowałeś mi dzień. AWS ma coraz słabszą dokumentację.
Kannaiyan
Opcja ta pracował dla mnie, jako potrzebne do aktualizacji /usr/local/aws(nie /home/ubuntu/.local/bin/aws) do wykorzystania przez jenkins użytkownika
hit3k
Dokumentacja AWS rzeczywiście szybko się pogarsza. To jest poprawna odpowiedź, nie mogę zrozumieć, dlaczego pytający zaakceptował odpowiedź, którą wyraźnie stwierdził w swojej edycji, nie działa - pakiety pip są często za najnowszymi, co jest problemem przy używaniu nowych rzeczy, takich jak EKS . Uwaga: musiałem opuścić powłokę i zalogować się ponownie, aby polecenie aws odebrało nową wersję. Nie mam pojęcia dlaczego.
Dick Chesterwood
24

To nie działa:

pip install --upgrade awscli

To działało dobrze na Ubuntu 14.04 (nie ma potrzeby ponownego uruchamiania również .. Najpierw musiałbyś zainstalować pip3):

pip3 install --upgrade awscli

Deepak Singhal
źródło
4
Może to wymagać: apt-get install python3-pip Każde polecenie działa równie dobrze dla mnie w systemie Ubuntu 14.04.
dannyman
12

W przypadku Ubuntu 16.04 użyłem części innych odpowiedzi i komentarzy i po prostu ponownie załadowałem bash zamiast ponownego uruchamiania.

Zainstalowałem aws-cli za pomocą apt, więc najpierw go usunąłem:

sudo apt-get remove awscli

Następnie mogłem zainstalować pip (wybrałem użycie sudo do instalacji globalnej z pip2):

sudo pip install -U awscli

Ponieważ robiłem to na serwerze, nie chciałem go ponownie uruchamiać, ale ponowne załadowanie basha załatwiło sprawę:

source ~/.bashrc

W tym momencie mogłem użyć nowej wersji aws cli

aws --version
petroleyum
źródło
1
Dzięki za source ~/.bashrckrok. :)
Pratik Patel
8

Spróbuj sudo pip install --upgrade awsclii otwórz nową powłokę. To działało dobrze dla mnie (nie ma potrzeby ponownego uruchamiania).

Hadi Pouransari
źródło
W systemie Mac OS musiałem uruchomić sudo pip install --upgrade awsclikomputer, aby móc odinstalować poprzednią wersję awscli (po pomyślnym uruchomieniu wstępnej aktualizacji)
Lynn Langit,
4

Prosta obsługa sudo pip install awscli --force-reinstall --upgrade

Spowoduje to uaktualnienie wszystkich wymaganych modułów.

Kc Bickey
źródło
na mojej maszynie Jenkinsa nie chciałem jawnie odinstalować CLI, więc użyłem tej metody i działałem jak marzenie!
URB
4

Jeśli masz problemy z instalacją AWS CLI przy użyciu pip, możesz użyć „Dołączonego instalatora”, jak opisano tutaj .

Omówione tam kroki są następujące:

$ 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

Następnie sprawdź swoją wersję AWS CLI, aby sprawdzić, czy wszystko działa poprawnie:

$ aws --version

Jeśli AWS CLI nie zaktualizował się do najnowszej wersji, zgodnie z oczekiwaniami, być może pliki binarne AWS CLI znajdują się gdzie indziej, jak zakładają poprzednio podane polecenia.

Określ, skąd jest wykonywany interfejs wiersza poleceń AWS:

$ which aws

W moim przypadku AWS CLI był uruchamiany z /bin/aws, więc musiałem zainstalować „Pakiet instalacyjny” w tej lokalizacji w następujący sposób:

$ sudo ./awscli-bundle/install -i /user/local/aws -b /bin/aws
NS du Toit
źródło
użycie dołączonego instalatora sprawia, że ​​powstały obraz dockera jest WIĘKSZY niż użycie pip ... niewiarygodne
Chad Grant
Po zainstalowaniu może być konieczne otwarcie nowej powłoki - z jakiegoś powodu „aws” nie wskazuje na nową instalację, dopóki nie zakończy się i nie uruchomi ponownie.
Dick Chesterwood
4

Na Macu możesz użyć homebrew:

żeby zainstalować: brew install awscli

ulepszyć: brew upgrade awscli

Upewnij się, że nie masz wielu instalacji: where aws

Daniel
źródło
2
pip install awscli --upgrade --user

Ta --upgradeopcja informuje pip, aby zaktualizował wszelkie wymagania, które są już zainstalowane. Ta --useropcja nakazuje pipowi zainstalowanie programu w podkatalogu katalogu użytkownika, aby uniknąć modyfikowania bibliotek używanych przez system operacyjny.

Semir Hodzic
źródło
0

Możemy wykonać poniższe polecenia, aby zainstalować AWS CLI na UBUNTU:

sudo apt install curl

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

rozpakuj awscli-bundle.zip

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

rm -rf awscli-bundle.zip awscli-bundle

Do przetestowania: aws - wersja

Po więcej informacji :

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

Gurudath BN
źródło
0

Podczas używania sudo pip install --upgrade awscliotrzymałem następujący błąd:

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

Używając sudo z opcją -H, mogłem rozwiązać problem.

sudo -H pip install --upgrade awscli
Stefan Rode
źródło
0

Obecnie, przy użyciu pip będzie Ci starą wersję z awscli, 1.18.103.

Najnowsza wersja aws-cli 2.0.33znajduje się w v2 gałęzi . Możesz pobrać instalator dla systemów Linux, Windows i macOS stąd .

Ben Butterworth
źródło