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