amazon linux のデフォルトの python のバージョンは 2系なので aws-cli も python2ベースです。
$ aws –version
aws-cli/1.11.132 Python/2.7.12 Linux/4.9.62-21.56.amzn1.x86_64 botocore/1.5.95
これを python3系に上げる方法です。
pyenvをつかって、デフォルトのpythonを3系にします。
1. pyenvを使用するために必要なライブラリのインストール
$ sudo yum -y install gcc gcc-c++ make git openssl-devel bzip2-devel zlib-devel readline-devel sqlite-devel
2. pyenvのインストール、権限・パスの設定
$ sudo git clone https://github.com/yyuu/pyenv.git /usr/bin/.pyenv
$ cd /usr/bin/.pyenv
$ sudo mkdir shims
$ sudo mkdir versions
$ sudo chown -R ec2-user:ec2-user /usr/bin/.pyenv
$ vi ~/.bashrc
; 下記を追記
export PYENV_ROOT=”/usr/bin/.pyenv”
if [ -d “${PYENV_ROOT}” ]; then
export PATH=${PYENV_ROOT}/bin:$PATH
eval “$(pyenv init -)”
fi
; ここまで
$ source ~/.bashrc
インストール可能なバージョンの確認
$ pyenv install –list
3.6.4
$ pyenv install 3.6.4
$ pyenv global 3.6.4
$ python -V
Python 3.6.4
この時点で pip が python3系になりました。
$ pip –version
pip 9.0.1 from /usr/bin/.pyenv/versions/3.6.4/lib/python3.6/site-packages (python 3.6)
元に戻したい場合、他のバージョンを使いたい場合
$ pyenv versions
system
* 3.6.2 (set by /usr/bin/.pyenv/version)
$ pyenv global {使いたいバージョン(system)}
本家 aws-cli アンインストール
$ sudo yum -y remove aws-cli
PIP経由で awscli を入れます
$ pip install awscli –upgrade –user
一回ログアウトして再ログイン
$ aws –version
aws-cli/1.14.14 Python/3.6.4 Linux/4.9.62-21.56.amzn1.x86_64 botocore/1.8.18
無事 3系になりました!