CentOS7.8にOS標準のPython3.6を使ってawscliをインストールしてみる

みなさんこんにちは。サーバの構築業務を担当している川合です。

今回は、CentOS7.8にOS標準のPython3.6を使ってawscliをインストールするお話になります。
前回解説した手順を元に今回はAWS EC2上のCentOS7で作業を実施します。

元々のOS標準のPython2.7ではpython-pipを別途インストールする必要がありましたが
Python3.6では標準でpython-pipがインストールされます。
※yumの依存性関連で合わせてインストールされます

またpythonを呼び出すコマンドが2.7と3.6で異なるのでその辺りも注意してもらえればと思います。

作業内容

以下のように既にOS標準のPython3.6.8がインストールされている前提で作業を進めます。

python3 -V
Python 3.6.8

バージョン確認の際にも宣言しているように、python3 とpythonの後に3を付けることで
python3系が呼び出されるようになっています。

pipコマンドも同様になります。

pip3 -V
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)

あとは、awscli をpip3コマンドでインストールするだけです。

pip3 install awscli
aws --version
aws-cli/1.18.67 Python/3.6.8 Linux/3.10.0-1127.8.2.el7.x86_64 botocore/1.16.17

作業後の注意点としては、yum でインストールされているpython3のモジュールが
pip3 でawscliをインストールした際に依存性関連で更新される場合があります。

例を挙げるとpython-urllib3 などは、pip3で更新された新しいバージョンがインストールされます。
そのため、脆弱性やOSのアップデートなどでyumで導入されたモジュールが更新されるとバージョンの差異がありyumのアップデートが失敗します。

新しいバージョンをインストールして、古いバージョンを削除する動作が行われますが
インストールされているバージョンが異なるため削除することが出来ずエラーとなります。

その際は、pip3コマンドで一度pipのモジュールをアンインストール。その後にyumでアップデート。そして、再度pip3で削除した同じバージョンをインストールすれば元に戻すことが可能です。

まとめ

CentOS7.8にOS標準のPython3.6をインストールして、awscliもインストールしみたお話でした。
Python2.7と3.6が共存しているので、今まで手順と少し異なります。

以前までのOS標準のPythonより新しいバージョンを利用できるので、今後は3系を標準として使っていければと思います。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA