自由気ままに書いちゃおう

好きなことをつらつらと・・・

awscliアップグレード(AmazonLinux2)

■作業前
rootユーザで作業を実施
 
# aws --version
aws-cli/1.16.102 Python/2.7.16 Linux/4.14.152-127.182.amzn2.x86_64 botocore/1.12.92
 
# which aws
/usr/bin/aws
 
■Python3系をインストール
<現在のPython2のインストール状況を確認>
# yum list installed python
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
インストール済みパッケージ
python.x86_64                     2.7.16-3.amzn2.0.1                     installed
 
<Python3.7をインストール>
# yum -y install python37
 
# which pip3            ※python37をインストールすることで自動的にpipがインストールされていることを確認
/usr/bin/pip3
 
# python3 --version
Python 3.7.4
 
■pipをアップグレード
<作業前のpipバージョン>
# pip3 --version
pip 9.0.3 from /usr/lib/python3.7/site-packages (python 3.7)
 
# pip3 install --upgrade pip
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting pip
    100% |????????????????????????????????| 1.4MB 886kB/s
Installing collected packages: pip
  Found existing installation: pip 9.0.3
    Uninstalling pip-9.0.3:
      Successfully uninstalled pip-9.0.3
Successfully installed pip-19.3.1
 
# pip3 --version
-bash: /usr/bin/pip3: No such file or directory  ※pip3のパスが通っていないが気にしない
 
# which pip3
/usr/local/bin/pip3
 
# vi .bash_profile
PATH=$PATH:$HOME/bin:/usr/local/bin/        ※「/usr/local/bin/」を末尾に追加
 
# source .bash_profile
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/usr/local/bin/
 
<pipバージョンアップ後>
# pip3 --version
pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)  
 
# pip3 list -o
Package    Version Latest Type
---------- ------- ------ -----
setuptools 38.4.0  42.0.2 wheel
 
■awscliのアップグレード
# pip3 install --upgrade --user awscli
~中略~
Successfully installed PyYAML-5.1.2 awscli-1.16.294 botocore-1.13.30 colorama-0.4.1 docutils-0.15.2 jmespath-0.9.4 pyasn1-0.4.8 python-dateutil-2.8.0 rsa-3.4.2 s3transfer-0.2.1 six-1.13.0 urllib3-1.25.7
 
# vi .bash_profile
PATH=/root/.local/bin/:$PATH:$HOME/bin:/usr/local/bin/   ※「PATH=/root/.local/bin/」を先頭に追加する。追加する際に、必ず先頭に入れること。仮に末尾に追加すると、awsコマンドのパスがデフォルトパスを見てしまい、古いバージョンのawscliが参照されてしまう。
 
# source .bash_profile
# echo $PATH
/root/.local/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/usr/local/bin/:/root/bin:/usr/local/bin/
 
<awscliバージョンアップ後>
# aws --version
aws-cli/1.16.294 Python/3.7.4 Linux/4.14.152-127.182.amzn2.x86_64 botocore/1.13.30