Ich habe damit herumgespielt brew install asciinema
und meine Python-Installation auf macOS High Sierra (10.13.3 (17D47)) abgebrochen.
Aber jetzt, wo ich Python für das awscli über pip neu installiere, verhält es sich nicht so, wie ich es erwarten würde.
Die awscli-Installationsanweisungen besagen: „pip installiert ausführbare Dateien in demselben Ordner, der die ausführbare Python-Datei enthält. Fügen Sie diesen Ordner Ihrer PATH-Variablen hinzu.“ Wenn ich es tue ls -al $(which python)
, bekomme ich
lrwxr-xr-x 1 notbrain admin 35 Mar 6 10:35 /usr/local/bin/python -> ../Cellar/python/3.6.4_3/bin/python
Was ich nach einer Brew-Installation erwarten würde. Also sollte ich /usr/local/Cellar/python/3.6.4_3/bin
meinen Pfad ergänzen, richtig?
Aber aws wird dort nicht installiert, es ist drin
~/Library/Python/3.6/bin
Was die Verwirrung noch verstärkt - der Shebang im aws-Eingabeskript ist auf Folgendes eingestellt:
17:11:40 notbrain@brian ~/Library/Python/3.6/bin
➜ cat aws
#!/usr/local/opt/python/bin/python3.6
# Copyright 2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
Was in Ordnung ist, da es sich um einen symbolischen Link zum brew-installierten Python 3.6 handelt. Aber warum so viele Ungereimtheiten? Wo nimmt Pip den ~/Library/Python
Pfad auf? Scheint so, als wäre das eine seltsame MacOS-spezifische Sache.
Gibt es etwas auf meinem System, das falsch eingestellt ist, um diese Diskrepanz zu verursachen? Ist dies eine Pip-Installationskonfiguration, die ich ändern könnte, um mit Homebrew installiertem Python 3 zu arbeiten?
Ich habe alle von Brew installierten Pythons entfernt und das System 2.7 installiert:
10:20:20 notbrain@brian ~
➜ python --version
Python 2.7.10
10:20:34 notbrain@brian ~
➜ which python
/usr/bin/python
10:20:42 notbrain@brian ~
➜ ll $(which python)
.rwxr-xr-x 66k root 1 Dec 2017 /usr/bin/python
10:21:13 notbrain@brian ~
➜ whereis python
/usr/bin/python
Dann eine Neuinstallation von Python mit Homebrew:
10:26:17 notbrain@brian ~
➜ brew install python
==> Downloading https://homebrew.bintray.com/bottles/python-3.6.4_3.high_sierra.bottle.tar.gz
Already downloaded: /Users/notbrain/Library/Caches/Homebrew/python-3.6.4_3.high_sierra.bottle.tar.gz
==> Pouring python-3.6.4_3.high_sierra.bottle.tar.gz
==> /usr/local/Cellar/python/3.6.4_3/bin/python3 -s setup.py --no-user-cfg install --force --verbose --install-scripts=/usr/local/Cellar/python/3.6.4_3/bin --install-lib=/usr/local/lib/
==> /usr/local/Cellar/python/3.6.4_3/bin/python3 -s setup.py --no-user-cfg install --force --verbose --install-scripts=/usr/local/Cellar/python/3.6.4_3/bin --install-lib=/usr/local/lib/
==> /usr/local/Cellar/python/3.6.4_3/bin/python3 -s setup.py --no-user-cfg install --force --verbose --install-scripts=/usr/local/Cellar/python/3.6.4_3/bin --install-lib=/usr/local/lib/
==> Caveats
Pip, setuptools, and wheel have been installed. To update them
pip3 install --upgrade pip setuptools wheel
You can install Python packages with
pip3 install <package>
They will install into the site-package directory
/usr/local/lib/python3.6/site-packages
See: https://docs.brew.sh/Homebrew-and-Python
Unversioned symlinks python, python-config, pip etc. pointing to python3,
python3-config, pip3 etc., respectively, have been installed.
If you need Homebrew's Python 2, `brew install python@2`.
==> Summary
🍺 /usr/local/Cellar/python/3.6.4_3: 3,615 files, 56.
10:26:44 notbrain@brian ~
➜ which python
/usr/local/bin/python
Und schließlich eine Pip-Installation von awscli mit https://docs.aws.amazon.com/cli/latest/userguide/cli-install-macos.html#awscli-install-osx-pip
10:35:49 notbrain@brian ~
➜ pip install awscli --upgrade --user
Collecting awscli
Using cached awscli-1.14.50-py2.py3-none-any.whl
Collecting docutils>=0.10 (from awscli)
Using cached docutils-0.14-py3-none-any.whl
Collecting colorama<=0.3.7,>=0.2.5 (from awscli)
Using cached colorama-0.3.7-py2.py3-none-any.whl
Collecting s3transfer<0.2.0,>=0.1.12 (from awscli)
Using cached s3transfer-0.1.13-py2.py3-none-any.whl
Collecting botocore==1.9.3 (from awscli)
Using cached botocore-1.9.3-py2.py3-none-any.whl
Collecting rsa<=3.5.0,>=3.1.2 (from awscli)
Using cached rsa-3.4.2-py2.py3-none-any.whl
Collecting PyYAML<=3.12,>=3.10 (from awscli)
Collecting python-dateutil<3.0.0,>=2.1 (from botocore==1.9.3->awscli)
Using cached python_dateutil-2.6.1-py2.py3-none-any.whl
Collecting jmespath<1.0.0,>=0.7.1 (from botocore==1.9.3->awscli)
Using cached jmespath-0.9.3-py2.py3-none-any.whl
Collecting pyasn1>=0.1.3 (from rsa<=3.5.0,>=3.1.2->awscli)
Using cached pyasn1-0.4.2-py2.py3-none-any.whl
Collecting six>=1.5 (from python-dateutil<3.0.0,>=2.1->botocore==1.9.3->awscli)
Using cached six-1.11.0-py2.py3-none-any.whl
Installing collected packages: docutils, colorama, six, python-dateutil, jmespath, botocore, s3transfer, pyasn1, rsa, PyYAML, awscli
Successfully installed PyYAML-3.12 awscli-1.14.50 botocore-1.9.3 colorama-0.3.7 docutils-0.14 jmespath-0.9.3 pyasn1-0.4.2 python-dateutil-2.6.1 rsa-3.4.2 s3transfer-0.1.13 six-1.11.0
Hast du jemals gelöst? Ich stecke auch irgendwie fest und versuche, awscli zum Laufen zu bringen. Ich denke, es wurde meinem Pfad hinzugefügt, weil ich Folgendes sehe: $ echo ${PATH} usr/Library/Python/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
und ich sehe die ausführbaren aws-Dateien in diesem ersten Verzeichnis im Pfad, aber es werden keine aws-Befehle gefunden, wenn ich versuche, sie zu verwenden
BEARBEITEN: Dies ist der Pfadzusatz, der endlich funktioniert hat: export PATH=~/Library/Python/3.7/bin:$PATH
Die Lösung habe ich hier gefunden: https://dev.to/stevoperisic/installing-python3-pip-and-aws-cli-on-macos-sierra-3pea
nichthirn
$echo 'export PATH=/usr/local/opt/python/libexec/bin:$PATH' >> ~/.bash_profile
es und$echo 'export PATH="~/Library/Python/3.7/bin:$PATH"' >> ~/.bash_profile
. Scheint, als wäre es der Unterschied zwischen Paket-Tools (Pip usw.) und Pfaden für von Pip installierte Tools. Schade, dass es nicht zentraler / gleicher Ort ist.