amazon linux の aws-cli を python3 ベースにする

aws

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系になりました!

タイトルとURLをコピーしました