めっちゃハマったのでメモ。環境は Mac El Capitan (10.11.3) 。
周りの人はすんなりインストールできてたりするので、どうしてこうなったのか原因が分からないのだが、うまく抜け出せたので書き留めておきたい。
AWS CLIをMacにインストールしようとした
Macなら初めからpythonが入ってるから2コマンドでいける……らしい。
|
$ sudo easy_install pip $ sudo pip install awscli |
普通ならこれだけでインストールできる。
1行目でpythonパッケージマネージャーのpipを入れて、2行目でawscliをインストール。
これがエラーなく完了すればいいけど、手元の環境ではなぜか2行目でコケてしまった。
Operation not permitted
こうなった。
|
$ sudo pip install awscli Collecting awscli (略) nstalling collected packages: six, python-dateutil, docutils, botocore, pyasn1, rsa, colorama, awscli Found existing installation: six 1.4.1 DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project. Uninstalling six-1.4.1: Exception: Traceback (most recent call last): File "/Library/Python/2.7/site-packages/pip-8.0.2-py2.7.egg/pip/basecommand.py", line 209, in main status = self.run(options, args) (略) OSError: [Errno 1] Operation not permitted: '/tmp/pip-danB96-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info' |
よく見るとDeprecatedなSixっていうパッケージをアンインストールしようとしてエラーになってるぽくて、
手動で sudo pip uninstall six
ってやっても同じエラーが出てしまう。
解決策
|
$ sudo -H pip install awscli --upgrade --ignore-installed six (略) Successfully installed awscli-1.10.1 botocore-1.3.23 colorama-0.3.3 docutils-0.12 jmespath-0.9.0 pyasn1-0.1.9 python-dateutil-1.5 rsa-3.3 six-1.4.1 |
うまくいった!
ちなみにSixっていうのはpython2系と3系の差異を埋めてくれるユーティリティライブラリみたいなものらしい。やっぱり自分で入れた覚えはなくてちょっと謎。