15
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Macにpythonをインストールしaws-cliが実行できない経緯と解決方法

Posted at

目的

aws-cliを使用したく、pythonを入れて、公式のコマンドを実行しようとしても上手くできなかったので、その備忘録。
ちなみに数年前にanaconda3などをmacに入れた事があったが、その設定がかなり気に入らなかったので、それをアンインストールして、再度インストールしようとした時に問題が発生。
今回はhomebrewを利用してのインストールを試みた。
途中のPATHの設定は色々いじったので、記載を省略。

仕様

Macbook: MacOS High Sierra
Homebrew: 1.6.0

経緯

Pythonをインストール

homebrewを利用し、pythonをインストール
$ brew install python3

以下で正常にpythonがインストールできていることを確認
$ python3 --version
結果は以下

Python 3.6.5

正常にインストールする事ができた。

aws-cliをインストール

次にaws-cliをインストール
$ pip3 install aws-cli

以下を実行
$ aws --version

しかし結果

-bash: /usr/local/bin/aws: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory

インストールは成功したが、実行できない。

不具合調査・解決

以下でどうなっているのか確認
$ which aws
結果は以下

/usr/local/bin/aws

$ which python3
結果は以下

/usr/local/bin/python3

うーん、何故だ。。。
実行時に過去にインストールしたaws-cliが邪魔をしているみたいだ。
(anaconda3を入れる前に、インストールしてたかも…)

そもそもhomebrewのインストール時にエラーが出ていたのではと思い、以下で調査。
$ brew doctor
結果は以下

Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run brew link on these:
awscli

やはり!brew linkと書いてあるので、$ brew link aws-cliを実行する。

Linking /usr/local/Cellar/awscli/1.15.0...
Error: Could not symlink bin/aws
Target /usr/local/bin/aws
already exists. You may want to remove it:
rm '/usr/local/bin/aws'
To force the link and overwrite all conflicting files:
brew link --overwrite awscli
To list all files that would be deleted:
brew link --overwrite --dry-run awscli

強制的にlinkしてもいいかなと思いましたが、仕様していないファイルはしっかり消したいので、
$ rm '/usr/local/bin/aws'
で削除を実行
再度$ brew link awscliを実行

Linking /usr/local/Cellar/awscli/1.15.0...
Error: Could not symlink bin/aws_completer
Target /usr/local/bin/aws_completer
already exists. You may want to remove it:
rm '/usr/local/bin/aws_completer'
To force the link and overwrite all conflicting files:
brew link --overwrite awscli
To list all files that would be deleted:
brew link --overwrite --dry-run awscli

が表示されたため、これも削除を実行する
$ rm '/usr/local/bin/aws_completer'

再々度$ brew link awscliを実行する

Linking /usr/local/Cellar/awscli/1.15.0... 6 symlinks created

できたっぽい!$ aws --versionで確認する

aws-cli/1.15.0 Python/3.6.5 Darwin/17.5.0 botocore/1.10.0

できたー!実際にこの後awsコマンドも正常に利用する事が可能となった。

まとめ

多分知っている人にとってはかなり初歩的な話であったと思う。
一番の原因はanacondaですでに入れており、それをアンインストールする際に色々残っていたのが原因と考える。
初めからCloud9を利用してやって入れば楽であったかも…
色々調べてPathの設定や、pythonについて理解を深める事ができたので良し。

以下のサイトが参考になりました。ありがとうございます。
MacでPythonが動かない状況をなんとか解決
Homebrewインストールのlinkエラーを修正する方法

15
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?