Was playing around with
brew install asciinema and it broke my python install on macOS High Sierra (10.13.3 (17D47)).
But now that I'm re-installing python for the awscli via pip, it's not acting like I would expect.
The awscli install instructions state "pip installs executables to the same folder that contains the Python executable. Add this folder to your PATH variable." When I do
ls -al $(which python), I get
lrwxr-xr-x 1 notbrain admin 35 Mar 6 10:35 /usr/local/bin/python -> ../Cellar/python/3.6.4_3/bin/python
Which is what I would expect after a brew install. So I should add
/usr/local/Cellar/python/3.6.4_3/bin to my path, right?
But aws does not get installed there, it's in
Adding to the confusion - the shebang in the aws entry script is set to:
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.
Which is fine, since it's a symlink to the brew-installed python 3.6. But why so many inconsistencies? Where is pip picking up the
~/Library/Python path? Seems like that's the odd macOS specific thing.
Is there something on my system that is set incorrectly to cause this discrepancy? Is this a pip install config thing I could change to work with homebrew installed python 3?
I removed all python installed by brew and get the system installed 2.7:
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
Then a reinstall of python with 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
And finally, a pip install of awscli using 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