はじめに
https://qiita.com/bakachou/items/38d9ef670e25e80e38b0
こちらで ローカルにあるVMを EC2へもっていったが、この OS に AWSCLI を入れるときに難儀したのでメモを残しておく
事前準備
まずは必要なRPMパッケージをインストールしておく
yum -y install epel-release
yum -y install python-pip
問題
CentOS 6.x 系では python が2.x 系なのでAWS CLIをインストールするため準備しようとするとエラーになるので 3.x に上げないといけない
以下のように pip をアップグレードしようとするとエラーになる。
# pip install pip --upgrade
Traceback (most recent call last):
File "/usr/bin/pip", line 7, in <module>
from pip._internal.cli.main import main
File "/usr/lib/python2.6/site-packages/pip/_internal/cli/main.py", line 10, in <module>
from pip._internal.cli.autocompletion import autocomplete
File "/usr/lib/python2.6/site-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
from pip._internal.cli.main_parser import create_main_parser
File "/usr/lib/python2.6/site-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
from pip._internal.cli import cmdoptions
File "/usr/lib/python2.6/site-packages/pip/_internal/cli/cmdoptions.py", line 107
binary_only = FormatControl(set(), {':all:'})
原因は Python 2.x だから
# cat /etc/redhat-release
CentOS release 6.10 (Final)
# python -V
Python 2.6.6
# rpm -qa |grep python-2.6.6
python-2.6.6-68.el6_10.x86_64
Python のアップデート
以下の手順でアップデートする。
git clone git://github.com/yyuu/pyenv.git ~/.pyenv
~/.bash_profile に以下を追加する (pyenv コマンドを実行できるようにする)
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
Python 3.6.7をインストールするのだが、いくつか必要なライブラリがあるのでインストール
yum -y install zlib*
yum -y install openssl*
Python 3.6.7 をインストール
pyenv install 3.6.7
Downloading Python-3.6.7.tar.xz...
-> https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
Installing Python-3.6.7...
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
WARNING: The Python sqlite3 extension was not compiled. Missing the SQLite3 lib?
Installed Python-3.6.7 to /root/.pyenv/versions/3.6.7
デフォルトのpython を3.6.7に変更
pyenv global 3.6.7
pip のアップデートと AWS CLI をインストール
以下の2つのコマンドを実行
pip install pip --upgrade
pip install awscli --user
これで AWSCLIがインストールされる
参考