AWS CLI $ PATH Ustawienia

112

Postępuję zgodnie z instrukcją konfiguracji AWS CLI . Udało mi się pomyślnie zainstalować narzędzie na moim terminalu Mac OS X z następującym wyjściem:

Running cmd: /usr/bin/python virtualenv.py --python /usr/bin/python /Users/fr/.local/lib/aws
Running cmd: /Users/fr/.local/lib/aws/bin/pip install --no-index --find-links file:///Users/fr/Downloads/awscli-bundle/packages awscli-1.5.3.tar.gz
You can now run: /Users/fr/.local/lib/aws/bin/aws --version

Mój problem polega na tym, że muszę wpisać pełną ścieżkę /Users/fr/.local/lib/aws/bin/aws, aby wykonać dowolne polecenie aws . Zgodnie z ostatnim krokiem przewodnika powinienem być w stanie wykonać polecenie aws bezpośrednio bez wpisywania bezwzględnej ścieżki do wykonania.

Kiedy próbuję używać tylko aws , otrzymuję następujący wynik:

aws --version                                                                                         ⏎
command not found: aws

Postępowałem zgodnie z instrukcjami, aby upewnić się, że ~ / bin znajduje się w moim środowisku PATH i widziałem, że nie ma wyjścia, dlatego wykonałem polecenie eksportu PATH = ~ / bin: $ PATH, aby dodać ~ / bin do $ PATH . Ale to nie ma znaczenia. Polecenie aws nie działa bezpośrednio.

Czy ktoś mógłby doradzić, co może być nie tak?

fr_muses
źródło

Odpowiedzi:

249

Oto trzy kroki instalacji AWS cli w systemie Mac OSX (curl lub wget) Trzeci krok ustawi poprawnie ścieżkę

$ 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

Innym najłatwiejszym sposobem jest użycie homebrew

brew install awscli

Jeśli chcesz wersję rozwojową, możesz to zrobić

brew install awscli --HEAD
guru
źródło
63
brew install awsclibyła droga dla mnie
Michael Guild
O mój Boże ... przez godzinę próbowania uruchomienia CLI, brew install awsclidziałało jak urok. Dziękuję Ci!
jdmdevdotnet
Dziękuję Ci! Brew nie powiódł się z powodu problemu z uprawnieniami, Error: An unexpected error occurred during the 'brew link' stepale curl działał.
Jim Edelstein
brew install awscli jest najprostsza
Jun711
2
Zwróć uwagę na treść dokumentacji: Package managers such yum, apt-get, or Homebrew for macOS are often behind several versions of the AWS CLIpo zainstalowaniu sprawdź wersję.
gatteo
58

To zadziałało dla mnie (uwaga: zmień 2.7 na swoją konkretną wersję Pythona):

export PATH=~/Library/Python/2.7/bin/:$PATH

Prawdopodobnie będziesz chciał dodać to na końcu swojego .bash_profileużywania:

sudo nano ~/.bash_profile
willsquire
źródło
49

po uruchomieniu polecenia: pip3 install awscli --upgrade --user

uważnie obserwuj, gdzie jest instalowane narzędzie aws cli, możesz zobaczyć ścieżkę w dzienniku terminala, w moim przypadku mam coś takiego:

awscli in ./Library/Python/3.6/lib/python/site-packages

Teraz powinieneś dodać do swojego .bash_profile tę samą ścieżkę, ale do folderu bin (usuwając ze ścieżki lib i zamiast tego umieść ścieżkę bin) w następujący sposób:

export PATH=/Users/xuser/Library/Python/3.6/bin/:$PATH

Juan Camilo Zapata
źródło
4
Twój post mi pomógł.
anujprashar
3
To sprawiło, że mój dzień
Teja
1
W Pythonie 2.7 został dodany do ./Library/Python/2.7/bin
Tech Junkie
4
Najlepsza odpowiedź dla mnie. Nie ma sensu rozwiązywać problemu, używając po prostu naparu. O wiele lepiej jest wiedzieć, dlaczego jest zepsuty! Thankyou Juan
Karl Taylor
43

Użyłem Homebrew do zainstalowania AWS CLI i jestem bardzo zadowolony z wyniku. Wystarczy wpisać:

$ brew install awscli

po zainstalowaniu naparu.

Uwaga, na stronie instalacji AWS CLI znajduje się następujące zastrzeżenie:

Pakiet awscli może być dostępny w repozytoriach dla innych menedżerów pakietów, takich jak APT, yum i Homebrew, ale nie ma gwarancji, że będzie to najnowsza wersja.

To powiedziawszy, nie stwierdziłem, że stanowi to problem, plik awscli.rb był dość często aktualizowany, aby pasował do najnowszych wersji.


Aktualizacja: istnieje problem z GitHub, który sugeruje, że Homebrew powinno zostać dodane jako alternatywa w instrukcjach instalacji AWS CLI. Ten problem został później rozwiązany na korzyść tego żądania funkcji UserVoice .

matsev
źródło
10

Mnie też się to przytrafiło i nie chciałem już instalować naparu, bo wszystko już działało dobrze. Postępowałem również zgodnie z „samouczkiem” na stronie AWS i miałem problem z krokiem ścieżki eksportu.

Zasadniczo dodała inny folder Pythona niż ten, do którego pobrano awscli. Więc zamiast export PATH=~/.local/bin:$PATH tego, co zasugerowali, użyłem pełnej ścieżki z dysku: export PATH=/Users/abc/Library/Python/3.6/bin/:$PATH

jaruss
źródło
8

Próbować:

PATH=/Users/fr/.local/lib/aws/bin:$PATH 

(umieść to w pliku .profile)

Spróbuj także zainstalować aws cli za pomocą homebrew. Doda go automatycznie do twojej ścieżki.

Nami
źródło
7

czasami, gdy ścieżki klas są pomieszane na Macu - zawsze możesz uruchomić lokalną naprawę aws cli

$ brew install awscli

co spowoduje ponowne wykorzystanie i zaktualizowanie istniejącego pakietu oraz skonfigurowanie właściwej ścieżki klas

Pravin
źródło
Pracował dla mnie Dzięki :)
Salman Shahid
5

Właśnie miałem ten sam błąd i udało mi się go rozwiązać, dodając następujący wiersz do mojego .bash_profilepliku:

export PATH=~/Library/Python/2.7/bin/:$PATH

Sprawdź wersję Pythona, ponieważ może się ona nieznacznie różnić w Twoim systemie. Pozwala to uniknąć dodawania folderu z nazwą użytkownika do .bash_profilepliku.

Piotr Berebecki
źródło
2

Jeśli masz wersję Pythona Anaconda w swoim systemie, użyj conda, aby zainstalować awscli:

conda install -c conda-forge awscli
Elf
źródło
To zadziałało dla mnie, ale nie jestem pewien, dlaczego. Moje środowisko Conda zostało dezaktywowane i użyłem pip3 jako polecenia instalacji, więc spodziewałem się, że conda w ogóle nie będzie na obrazie. Czy mógłbyś wyjaśnić trochę więcej, dlaczego to działa?
DaveRGP
2

Upewnij się, że Python jest zainstalowany globalnie, kroki są następujące:

Po stronie AWS:

Przejdź do amazon AWS center -> Services -> Identity and Access Management (IAM) -> Users -> znajdź swojego użytkownika i kliknij go -> wybierz zakładkę Security Credentials -> utwórz klucz dostępu

Instalacja: z wiersza poleceń / bash

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

Opcjonalnie : jeśli wersja aws nie została jeszcze znaleziona, skonfiguruj ścieżkę aws w swoim profilu bash.

vim ~/.bash_profile
#paste this line
PATH=$PATH:/usr/local/bin/aws

Konfiguracja: (Ostatni krok) Skonfiguruj swoje poświadczenia w następujący sposób

aws configure

Wypełnij właściwości otrzymane ze strony aws i połącz swoje konto. dołączenie przykładu dla tego kroku.

Identyfikator klucza dostępu AWS [brak]: abcd

Tajny klucz dostępu AWS [brak]: zyx123! @ #

Region domyślny> nazwa [Brak]: us-east-1

Domyślny format wyjściowy [brak]: json

Powodzenia!

avivamg
źródło
1

Osobiście miałem ten sam problem z aws CodeBuild - nie mogłem użyć aws cli. Rozwiązałem to, instalując aws globalnie na moim obrazie dockera (zamiast instalować go lokalnie dla użytkownika).

RUN pip install awscli --upgrade 

(instead of RUN pip install awscli --upgrade --user)

U mnie zadziałało, jeśli to komuś może pomóc!

Tibo
źródło
0

Skończyło się na tym, że zrobiłem to samo, co Piotr i dobrze jest zrozumieć, jak zaktualizować swoją ścieżkę bez oprogramowania innej firmy. Jednak wraz z rozwojem oprogramowania innych firm Homebrew jest całkiem niesamowity i dobrze jest go używać do kontrolowania linków symbolicznych zależności w jednym miejscu. de facto pkg mgr na mac.

Puckey
źródło
0

Spójrz na notatkę na https://docs.aws.amazon.com/cli/latest/userguide/install-bundle.html

Domyślnie skrypt instalacyjny działa w domyślnej wersji systemu Python. Jeśli zainstalowałeś alternatywną wersję Pythona i chcesz użyć jej do zainstalowania interfejsu wiersza polecenia AWS, uruchom skrypt instalacyjny z tą wersją, podając bezwzględną ścieżkę do pliku wykonywalnego Pythona.

W kroku, w którym uruchamiasz plik wykonywalny instalacji

zamiast robić po prostu:

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

Dowiedz się, na przykład, gdzie jest zainstalowany twój Python

$ which python

a następnie użyj ścieżki, aby zainstalować plik wykonywalny, taki jak

$ sudo <path from executing which python> awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Powyższe powinno rozwiązać problem.

vredrav
źródło