Ich habe die aws cli gemäß den offiziellen Amazon-Anweisungen installiert.
sudo pip install awscli
Es aws
ist jedoch nirgends auf meinem Weg zu finden. Die Installation scheint erfolgreich gewesen zu sein. Es gibt eine Reihe von Dateien unter /Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/awscli
, es sind jedoch keine ausführbaren Dateien benannt aws
. Meine Python-Version ist 3.3.4, meine Pip-Version ist 1.5.4 und ich führe diesen Befehl unter OS X 10.9 aus. Was könnte falsch sein?
Vielen Dank!
Antworten:
Verbesserung der Antwort des OP
Das OP beantwortete seine eigene Frage, aber der genaue Speicherort der ausführbaren Datei ist mit größerer Wahrscheinlichkeit anders als derselbe. Lassen Sie uns also zusammenfassen, WARUM seine Lösung funktioniert hat, damit Sie sie auf sich selbst anwenden können.
Aus dem Problem
Aus der Lösung
Lass uns etwas lernen
Vergleichen Sie diese Pfade, um ihre Gemeinsamkeiten zu finden:
/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/awscli /Library/Frameworks/Python.framework/Versions/3.3/bin
Beachten Sie, dass sie auseinander gehen
lib
vs.bin
. Und bedenken Sie, dass das OP sagte: " Es gibt keine ausführbaren Dateien mit dem Namen aws. " Das bringt uns zu unseren ersten Lektionen:lib
Ordnern.bin
Ordnern, die eine gemeinsame Linie haben.In diesem Fall hätte ich vorgeschlagen, nach
bin
Ordnern zu suchen über:find /Library/Frameworks/Python.framework -type d -name bin
Aber wenn Sie das tun, können Sie genauso gut nach Ihrer ausführbaren Datei suchen über:
find /Library/Frameworks/Python.framework -type f -perm -100 -name aws # the `-` in `perm -100` means not an exact match of 100 # but any octal that includes 100
Aber warte
Woher wusste OP, dass sie in ihre schauen sollten
/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/
?Die einfachste Antwort ist auch unsere nächste Lektion:
So mache ich das:
$ python -c 'import awscli; print(awscli)' <module 'awscli' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/awscli/__init__.pyc'> $ python3 -c 'import awscli; print(awscli)' <module 'awscli' from '/System/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/awscli/__init__.py'>
Ich habe 2 Pythons und keiner von ihnen verwendet die gleichen Pfade oder sogar Pfadmuster wie das OP.
Wenden Sie an, was wir gelernt haben
$ find /System/Library/Frameworks/Python.framework -type d -name bin /System/Library/Frameworks/Python.framework/Versions/2.7/bin /System/Library/Frameworks/Python.framework/Versions/3.6/bin $ find /System/Library/Frameworks/Python.framework -type f -perm -100 -name aws /System/Library/Frameworks/Python.framework/Versions/2.7/bin/aws /System/Library/Frameworks/Python.framework/Versions/3.6/bin/aws
Wie Sie sehen können, habe ich 2
bin
Ordner und 2aws
ausführbare Dateien. Ich möchte wahrscheinlich die Python3.6-Version verwenden. Wenn ich jedoch lokale Test- und Fehlerarbeiten für ein Remote-System durchführe, das die Python2.7-Version verwendet, möchte ich dies verwenden. Und genau deshalb habe ich 2 Version installiert.quelle
--user
Installation anstelle dersudo
Installation durchführen. Und deshalbpython -c 'import awscli; print(awscli)'
ist es so wichtig. Dieser Pfad wird erkannt. Alle SO-Antworten sollten erklären, "wie man die Antwort bekommt" und nicht "das hat bei mir funktioniert". Nicht kritisch zu sein. Mir ist klar, dass einige Leute nicht wissen, wie sie diese Forschung betreiben sollen. In diesem Fall kann ihre Antwort jemand anderem helfen, mitzukommen und sie zu erweitern, um universeller zu sein. Dies ist ein großartiges Beispiel dafür.Das hat bei mir auf dem Mac funktioniert:
quelle
anaconda3
Von http://docs.aws.amazon.com/cli/latest/userguide/cli-install-macos.html#awscli-install-osx-path
Für Modern Macos / OSX müssen Sie Ihr
~/Library/Python/$version/bin
Verzeichnis finden und Ihrem hinzufügen$PATH
. Dies hilft Ihnen bei der Suche nach demaws
Installationsort.$ ls -d ~/Library/Python/*/bin/aws /Users/bbronosky/Library/Python/3.6/bin/aws
Auf dieser Grundlage habe ich diese Zeile zu meiner hinzugefügt
.bashrc
export PATH=$HOME/Library/Python/3.6/bin:$PATH
quelle
Unter Ubuntu und mit pip3 ohne sudo installiert, war der richtige Speicherort, den ich meinem Pfad hinzufügen konnte
~/.local/bin
:export PATH=$HOME/.local/bin:$PATH
quelle
Die Lösung bestand darin, hinzuzufügen
/Library/Frameworks/Python.framework/Versions/3.3/bin
zu meinem Pfad.
quelle
Kann verwenden
pip show awscli
, um den Installationsort zu finden.$ pip show awscli Name: awscli Version: 1.16.94 Summary: Universal Command Line Environment for AWS. Home-page: http://aws.amazon.com/cli/ Author: Amazon Web Services Author-email: UNKNOWN License: Apache License 2.0 Location: /root/.local/lib/python2.7/site-packages Requires: s3transfer, colorama, rsa, docutils, botocore, PyYAML Required-by:
quelle
Ich habe ein Upgrade von OSX 10.7 auf OSX 10.9 durchgeführt und danach funktionierte meine Installation von aws nicht mehr.
Ich habe folgende Fehler beobachtet:
$ pip Traceback (most recent call last): File "/usr/local/bin/pip", line 5, in <module> from pkg_resources import load_entry_point File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2603, in <module> working_set.require(__requires__) File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 666, in require needed = self.resolve(parse_requirements(requirements)) File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve raise DistributionNotFound(req) # XXX put more info here pkg_resources.DistributionNotFound: pip==1.5.5
Die Lösung, dass das Betriebssystem-Upgrade die Berechtigungen geändert hatte.
Werbegeschenk Hinweis:
sudo pip <--- hat funktioniert
pip <--- fehlgeschlagen
Also habe ich das gemacht:
und danach kann ich die aws-befehle wieder verwenden.
Ich bin mir nicht sicher, ob dies für andere hilfreich sein wird, aber ich dachte, ich würde es in die Mischung werfen.
quelle
Bei der Installation in einer virtuellen Umgebung: 'pip install awscli' (ohne sudo) funktionierte unter OS X einwandfrei. aber nicht in CentOS Release 6.6, zB 'which aws' hat nichts gefunden. Die Lösung:
chmod u+x /PATH-TO-YOUR-VIRTUALENV/bin/aws
quelle
Bearbeiten Sie die
paths
Datei direkt, wenn Sie über Administratorrechte verfügen.Gehen Sie auf jeden Fall mit der Top-Antwort, wenn Sie keine Administratorrechte haben, aber wenn Sie dies tun, würde ich dringend empfehlen, die
paths
Dateien unter direkt zu bearbeiten/etc/paths
.Verwenden Sie Ihren bevorzugten Editor und fügen Sie einfach den gewünschten Pfad in eine neue Zeile ein:
Beispieldatei
paths
:/usr/local/bin /usr/bin /bin /usr/sbin /sbin /Users/username/Library/Python/3.6/bin #new path added here at bottom of file
Fügen Sie oben oder unten oder in einer beliebigen Reihenfolge die Speicherorte ein, nach denen nach Binärdateien gesucht werden soll (falls Binärdateien mit doppelten Namen vorhanden sind).
Die Verwendung der
paths
Datei erspart Ihnen das mühsame Erinnern an die Verkettungssyntax oder die potenziellen Probleme, wenn Sie eine fehlerhafte Exportanweisung schreiben.quelle
Normalerweise kopiere ich die ausführbare Datei nach / usr / local / bin
cp $(find / -name aws) /usr/local/bin
quelle
/usr/bin
drin und ich habe es von dort kopiert.Windows ist hier wahrscheinlich die Minderheit, aber das Hinzufügen zu meinem Pfad hat für mich funktioniert. Als Referenz habe ich die CLI über pip installiert:
quelle
Ich hatte ein ähnliches Problem unter Windows 10. Ich musste unten
PATH
Variablen hinzufügenFür Python :
Für PIP :
Damit awscli funktioniert:
quelle
Überprüfen Sie Ihre Python-Version, aber ich vermute, Sie verwenden Python 3.3
quelle
Eine alternative Möglichkeit besteht darin, das aws-cli-Paket über Methoden zu installieren, die unter https://cloudacademy.com/blog/how-to-use-aws-cli/ verfügbar sind . Das hat bei mir geklappt :)
quelle
export PATH=/Users/{Computer Name}/Library/Python/2.7/bin:$PATH
quelle
Laden Sie einfach das & MSI-Installationsprogramm (64 oder 32 Bit) herunter. Installieren oder aktualisieren Sie die AWS CLI-Version 2 unter Windows mithilfe des MSI-Installationsprogramms
Nach der Installation wird möglicherweise die Fehlermeldung "'aws'" nicht als interner oder externer Befehl, bedienbares Programm oder Batchdatei erkannt. "
Aktivieren Sie einfach die Umgebungsvariable. Der Variablenname muss 'PATH' sein und den Wert "C: \ Programme \ Amazon \ AWSCLIV2" eingeben. Schließen Sie das Eingabeaufforderungsfenster und öffnen Sie es erneut. Das Problem wird behoben.
quelle