Impostazioni AWS CLI $ PATH


111

Sto seguendo la guida alla configurazione di AWS CLI . Sono riuscito a installare correttamente lo strumento sul mio terminale Mac OS X con il seguente output:

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

Il mio problema è che devo digitare il percorso completo /Users/fr/.local/lib/aws/bin/aws per eseguire qualsiasi comando aws . Secondo il passaggio finale della guida, dovrei essere in grado di eseguire il comando aws direttamente senza digitare il percorso assoluto per l'esecuzione.

Quando provo a usare solo aws , ottengo il seguente output:

aws --version                                                                                         ⏎
command not found: aws

Ho seguito le istruzioni per assicurarmi che ~ / bin fosse nel mio ambiente PATH e potevo vedere che non c'era alcun output, quindi ho eseguito il comando export PATH = ~ / bin: $ PATH per aggiungere ~ / bin a $ PATH . Ma questo non ha fatto differenza. Il comando aws non funziona direttamente.

Qualcuno potrebbe consigliare cosa potrebbe andare storto?

Risposte:


249

Ecco i tre passaggi per installare AWS cli su mac OSX (curl o wget) Il terzo passaggio imposterà il percorso correttamente

$ 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

L'altro modo più semplice è usare l'homebrew

brew install awscli

Se vuoi la versione di sviluppo puoi farlo

brew install awscli --HEAD

63
brew install awscliera la strada da percorrere per me
Michael Guild

omg .. attraverso circa 1 ora di tentativi di far funzionare il cli, ha brew install awsclifunzionato a meraviglia. Grazie!
jdmdevdotnet

Grazie! Brew non riuscito con un problema di autorizzazioni Error: An unexpected error occurred during the 'brew link' stepma curl ha funzionato.
Jim Edelstein

brew install awscli è il più semplice
Jun711

2
Si prega di notare cosa afferma la documentazione: Package managers such yum, apt-get, or Homebrew for macOS are often behind several versions of the AWS CLIquindi assicurati di controllare la versione dopo l'installazione.
gatteo

58

Questo ha funzionato per me (nota: cambia 2.7 nella tua versione specifica di Python):

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

Probabilmente vorrai aggiungerlo alla fine del tuo .bash_profileutilizzo:

sudo nano ~/.bash_profile

49

quando esegui il comando: pip3 install awscli --upgrade --user

guarda da vicino dove viene installato lo strumento aws cli, puoi vedere il percorso sul log del terminale, nel mio caso ho qualcosa del genere:

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

Ora dovresti aggiungere al tuo .bash_profile lo stesso percorso ma nella cartella bin (rimuovendo dal percorso lib e invece mettere il tuo percorso bin) in questo modo:

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


4
il tuo post mi ha aiutato.
anujprashar

3
Questo ha reso la mia giornata
Teja

1
Su Python 2.7, è stato aggiunto a ./Library/Python/2.7/bin
Tech Junkie

4
La migliore risposta per me. Non ha senso aggirare un problema usando solo la birra. È molto meglio sapere perché è rotto! Grazie Juan
Karl Taylor

43

Ho utilizzato Homebrew per installare AWS CLI e sono abbastanza soddisfatto del risultato. Basta digitare:

$ brew install awscli

dopo aver installato brew.

Nota, nella pagina di installazione di AWS CLI è presente la seguente dichiarazione di non responsabilità:

Il pacchetto awscli potrebbe essere disponibile nei repository per altri gestori di pacchetti come APT, yum e Homebrew, ma non è garantito che sia l'ultima versione.

Detto questo, non ho riscontrato che questo sia un problema, awscli.rb è stato aggiornato abbastanza frequentemente per corrispondere alle ultime versioni.


Aggiornamento: c'è un problema di GitHub che suggerisce che Homebrew dovrebbe essere aggiunto come alternativa nelle istruzioni di installazione di AWS CLI. Questo problema è stato successivamente chiuso a favore di questa richiesta di funzionalità UserVoice .


10

Questo è successo anche a me e non volevo più installare brew, perché tutto funzionava già bene. Ho anche seguito il "tutorial" sul sito AWS e ho avuto problemi nel passaggio del percorso di esportazione.

Fondamentalmente, ha aggiunto una cartella python diversa da quella in cui è stato scaricato awscli. Quindi, invece di export PATH=~/.local/bin:$PATH quello che hanno suggerito, ho usato un percorso completo dal disco: export PATH=/Users/abc/Library/Python/3.6/bin/:$PATH


8

Provare:

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

(inseriscilo nel file .profile)

Prova anche a installare aws cli con homebrew. Lo aggiungerà automaticamente al tuo percorso.


7

a volte mentre i percorsi di classe sono incasinati su Mac, potresti sempre correre per correggere aws cli localmente

$ brew install awscli

che riutilizzerebbe e aggiornerà il pacchetto esistente e configurerebbe il percorso di classe corretto


Ha funzionato per me Grazie :)
Salman Shahid

5

Ho appena avuto lo stesso errore e sono stato in grado di risolverlo aggiungendo la seguente riga al mio .bash_profilefile:

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

Controlla la versione di Python in quanto potrebbe essere leggermente diversa sul tuo sistema. Ciò evita di aggiungere la cartella del nome utente al .bash_profilefile.


2

Se hai la versione Anaconda di python sul tuo sistema, usa conda per installare awscli:

conda install -c conda-forge awscli

Questo ha funzionato per me, ma non sono sicuro del perché. Il mio ambiente conda è stato disattivato e ho usato pip3 come comando di installazione, quindi mi aspettavo che conda non fosse affatto nella foto. Potresti spiegare un po 'di più sul motivo per cui funziona?
DaveRGP

2

Assicurati che python sia installato a livello globale, i passaggi sono come questo:

Sul lato AWS:

Vai ad amazon AWS center -> Servizi -> Identity and Access Management (IAM) -> Utenti -> trova il tuo utente e fai clic su di esso -> seleziona la scheda Credenziali di sicurezza -> crea chiave di accesso

Installazione: sulla riga di comando / bash

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

Opzionale : se la versione di aws non viene ancora trovata, configura il percorso di aws sul tuo profilo bash.

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

Configurazione: (Passaggio finale) Configura le tue credenziali come segue

aws configure

Compila le proprietà che hai ottenuto dal sito web di aws e collega il tuo account. allegando un esempio per questo passaggio.

ID chiave di accesso AWS [Nessuno]: abcd

Chiave di accesso segreta AWS [Nessuna]: zyx123! @ #

Regione predefinita> nome [Nessuno]: us-east-1

Formato di output predefinito [Nessuno]: json

In bocca al lupo!


1

Personalmente ho avuto lo stesso problema con aws CodeBuild: non potevo usare aws cli. L'ho risolto installando aws globalmente sulla mia immagine finestra mobile (invece di installarlo localmente su un utente).

RUN pip install awscli --upgrade 

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

Ha funzionato per me, se questo può aiutare qualcuno!


0

Ho finito per fare lo stesso di Piotr ed è bello capire come aggiornare il tuo percorso senza software di terze parti. Tuttavia, quando il software di terze parti diventa, Homebrew è davvero fantastico ed è una buona cosa usarlo per mantenere i collegamenti simbolici di dipendenza controllati in un unico posto. de facto pkg mgr su mac.



0

Dai un'occhiata alla nota su https://docs.aws.amazon.com/cli/latest/userguide/install-bundle.html

Per impostazione predefinita, lo script di installazione viene eseguito con la versione predefinita del sistema di Python. Se hai installato una versione alternativa di Python e desideri utilizzarla per installare AWS CLI, esegui lo script di installazione con quella versione per percorso assoluto all'eseguibile Python.

Per il passaggio in cui si esegue il file eseguibile di installazione

invece di fare solo:

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

Scopri ad esempio dove è installato il tuo python

$ which python

e quindi usa il percorso per installare l'eseguibile come

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

Quanto sopra dovrebbe risolvere il problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.