AWS CLI $ PATH-Einstellungen

111

Ich folge dem AWS CLI-Setup-Handbuch . Ich habe es geschafft, das Tool mit der folgenden Ausgabe erfolgreich auf meinem Mac OS X-Terminal zu installieren:

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

Mein Problem ist, dass ich den vollständigen Pfad /Users/fr/.local/lib/aws/bin/aws eingeben muss , um einen aws- Befehl auszuführen . Gemäß dem letzten Schritt des Handbuchs sollte ich in der Lage sein, den Befehl aws direkt auszuführen, ohne den absoluten Pfad für die Ausführung einzugeben.

Wenn ich versuche, nur aws zu verwenden , erhalte ich die folgende Ausgabe:

aws --version                                                                                         ⏎
command not found: aws

Ich habe die Anweisungen befolgt, um sicherzustellen, dass sich ~ / bin in meiner PATH- Umgebung befindet und dass keine Ausgabe erfolgt. Daher habe ich den Befehl export PATH = ~ / bin: $ PATH ausgeführt, um ~ / bin zu $ ​​PATH hinzuzufügen . Das hat aber keinen Unterschied gemacht. Der Befehl aws funktioniert nicht direkt.

Könnte jemand bitte mitteilen, was schief gehen könnte?

fr_muses
quelle

Antworten:

249

Hier sind die drei Schritte zum Installieren von AWS cli unter Mac OSX (Curl oder Wget). Im dritten Schritt legen Sie den Pfad korrekt fest

$ 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

Der andere einfachste Weg ist die Verwendung von Homebrew

brew install awscli

Wenn Sie die Entwicklungsversion möchten, können Sie dies tun

brew install awscli --HEAD
Guru
quelle
63
brew install awscliwar der richtige Weg für mich
Michael Guild
1
Danke für curl!
Dehasi
omg .. durch wie 1 Stunde des Versuchs, die Cli zum Laufen zu bringen, brew install awscliarbeitete wie ein Zauber. Danke dir!
jdmdevdotnet
Danke dir! Brew scheiterte mit einem Berechtigungsproblem, Error: An unexpected error occurred during the 'brew link' stepaber Curl funktionierte.
Jim Edelstein
2
Bitte beachten Sie die Dokumentation: Package managers such yum, apt-get, or Homebrew for macOS are often behind several versions of the AWS CLIÜberprüfen Sie daher unbedingt die Version nach der Installation.
Gatteo
58

Dies hat bei mir funktioniert (Hinweis: Ändern Sie 2.7 auf Ihre spezifische Python-Version):

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

Sie möchten dies wahrscheinlich am Ende Ihrer .bash_profileVerwendung hinzufügen :

sudo nano ~/.bash_profile
willsquire
quelle
49

Wenn Sie den Befehl ausführen: pip3 install awscli --upgrade --user

Beobachten Sie genau, wo das aws cli-Tool installiert wird. Sie können den Pfad im Terminalprotokoll sehen. In meinem Fall habe ich Folgendes:

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

Jetzt sollten Sie Ihrem .bash_profile denselben Pfad hinzufügen, jedoch im bin-Ordner (aus dem lib-Pfad entfernen und stattdessen Ihren bin-Pfad einfügen) wie folgt:

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

Juan Camilo Zapata
quelle
4
Ihr Beitrag hat mir geholfen.
Anujprashar
3
Dies machte meinen Tag
Teja
1
Auf Python 2.7 wurde es zu ./Library/Python/2.7/bin
Tech Junkie
4
Beste Antwort für mich. Es macht keinen Sinn, ein Problem zu umgehen, indem Sie nur das Gebräu verwenden. Es ist so viel besser zu wissen, warum es kaputt ist! Vielen Dank Juan
Karl Taylor
43

Ich habe AWS CLI mit Homebrew installiert und bin mit dem Ergebnis sehr zufrieden. Geben Sie einfach Folgendes ein:

$ brew install awscli

nachdem Sie Brew installiert haben.

Beachten Sie, dass auf der AWS CLI-Installationsseite der folgende Haftungsausschluss angezeigt wird:

Das awscli-Paket ist möglicherweise in Repositorys für andere Paketmanager wie APT, yum und Homebrew verfügbar, es wird jedoch nicht garantiert, dass es die neueste Version ist.

Das heißt, ich habe nicht festgestellt, dass dies ein Problem ist. Die Datei awscli.rb wurde ziemlich häufig aktualisiert, um den neuesten Versionen zu entsprechen.


Update: Es gibt ein GitHub-Problem , das vorschlägt, dass Homebrew als Alternative in den AWS CLI-Installationsanweisungen hinzugefügt werden sollte. Dieses Problem wurde später zugunsten dieser UserVoice-Funktionsanforderung geschlossen .

matsev
quelle
10

Das ist mir auch passiert und ich wollte Brew nicht mehr installieren, weil schon alles gut lief. Ich habe auch das 'Tutorial' auf der AWS-Site befolgt und hatte Probleme beim Exportpfad.

Grundsätzlich wurde ein anderer Python-Ordner hinzugefügt als der, in den awscli heruntergeladen wurde. Anstelle dessen, export PATH=~/.local/bin:$PATH was sie vorgeschlagen haben, habe ich einen vollständigen Pfad von der Festplatte verwendet: export PATH=/Users/abc/Library/Python/3.6/bin/:$PATH

jaruss
quelle
8

Versuchen:

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

(in die .profile-Datei einfügen)

Versuchen Sie auch, aws cli mit Homebrew zu installieren. Es wird automatisch zu Ihrem Pfad hinzugefügt.

Nami
quelle
7

Manchmal, wenn Klassenpfade auf dem Mac durcheinander sind, können Sie immer ausführen, um aws cli lokal zu reparieren

$ brew install awscli

Dies würde das vorhandene Paket wiederverwenden und aktualisieren und den richtigen Klassenpfad einrichten

Pravin
quelle
Arbeitete für mich Danke :)
Salman Shahid
5

Ich hatte gerade den gleichen Fehler und konnte ihn beheben, indem ich meiner .bash_profileDatei die folgende Zeile hinzufügte :

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

Bitte überprüfen Sie die Version von Python, da diese auf Ihrem System möglicherweise geringfügig abweicht. Dadurch wird vermieden, dass Sie Ihren Benutzernamenordner zur .bash_profileDatei hinzufügen .

Piotr Berebecki
quelle
2

Wenn Sie eine Anaconda-Version von Python auf Ihrem System haben, verwenden Sie bitte conda , um awscli zu installieren:

conda install -c conda-forge awscli
Elf
quelle
Das hat bei mir funktioniert, aber ich bin mir nicht sicher warum. Meine Conda-Umgebung wurde deaktiviert und ich habe pip3 als Installationsbefehl verwendet, sodass ich erwartet hatte, dass Conda überhaupt nicht auf dem Bild zu sehen ist. Können Sie etwas näher erläutern, warum dies funktioniert?
DaveRGP
2

Stellen Sie sicher, dass Python global installiert ist. Die Schritte sind wie folgt:

Auf der AWS-Seite:

Gehen Sie zu Amazon AWS Center -> Dienste -> Identitäts- und Zugriffsverwaltung (IAM) -> Benutzer -> suchen Sie Ihren Benutzer und klicken Sie darauf -> wählen Sie die Registerkarte Sicherheitsanmeldeinformationen -> erstellen Sie den Zugriffsschlüssel

Installation: In der Befehlszeile / Bash

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

Optional : Wenn die aws-Version noch nicht gefunden wurde, richten Sie den aws-Pfad in Ihrem Bash-Profil ein.

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

Konfiguration: (Letzter Schritt) Konfigurieren Sie Ihre Anmeldeinformationen wie folgt

aws configure

Füllen Sie die Eigenschaften aus, die Sie von der aws-Website erhalten haben, und verbinden Sie Ihr Konto. Anhängen eines Beispiels für diesen Schritt.

AWS Access Key ID [Keine]: abcd

AWS Secret Access Key [Keine]: zyx123! @ #

Standardregion> Name [Keine]: us-east-1

Standardausgabeformat [Keine]: json

Viel Glück!

avivamg
quelle
1

Ich persönlich hatte das gleiche Problem mit aws CodeBuild - ich konnte die aws cli nicht verwenden. Ich habe es gelöst, indem ich aws global auf meinem Docker-Image installiert habe (anstatt es lokal für einen Benutzer zu installieren).

RUN pip install awscli --upgrade 

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

Es hat bei mir funktioniert, wenn das jemandem helfen kann!

Tibo
quelle
0

Am Ende habe ich das Gleiche getan wie bei Piotr, und es ist gut zu verstehen, wie Sie Ihren Pfad ohne Software von Drittanbietern aktualisieren können. Mit der Software von Drittanbietern ist Homebrew jedoch ziemlich beeindruckend und es ist eine gute Sache, es zu verwenden, um Ihre Abhängigkeits-Symlinks an einem Ort zu kontrollieren. de facto pkg mgr auf mac.

Puckey
quelle
0

Lesen Sie den Hinweis unter https://docs.aws.amazon.com/cli/latest/userguide/install-bundle.html

Standardmäßig wird das Installationsskript unter der Systemstandardversion von Python ausgeführt. Wenn Sie eine alternative Version von Python installiert haben und diese zum Installieren der AWS-CLI verwenden möchten, führen Sie das Installationsskript mit dieser Version über den absoluten Pfad zur ausführbaren Python-Datei aus.

Für den Schritt, in dem Sie die ausführbare Installationsdatei ausführen

anstatt nur zu tun:

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

Finden Sie heraus, wo Ihre Python beispielsweise installiert ist

$ which python

und verwenden Sie dann den Pfad, um die ausführbare Datei wie zu installieren

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

Das obige sollte das Problem beheben.

vredrav
quelle