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

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

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

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


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

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


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.


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

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


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.



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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.