公式ドキュメントは以下になります。

正常にインストールできたら、以下でバージョンを確認します。

aws --version

 aws --version
aws-cli/1.20.53 Python/3.8.12 Linux/3.10.0-1127.el7.x86_64 botocore/1.21.53

Python3・pip3

Python3の場合、pip3でインストールすることが可能です。 AWS CLIのバージョン は1になります。

pip3 install awscli --upgrade --user
オプション --user をつけると、 ~/.local/bin にインストールされます。

トラブル

ModuleNotFoundError: No module named '_ctypes'

AWS CLIを実行したときに、以下のようなエラーになる場合、

$ aws --version
Traceback (most recent call last):
  File "/home/vagrant/.pyenv/versions/3.8.12/bin/aws", line 27, in <module>
    sys.exit(main())
  File "/home/vagrant/.pyenv/versions/3.8.12/bin/aws", line 23, in main
    return awscli.clidriver.main()
  File "/home/vagrant/.pyenv/versions/3.8.12/lib/python3.8/site-packages/awscli/clidriver.py", line 69, in main
    driver = create_clidriver()
  File "/home/vagrant/.pyenv/versions/3.8.12/lib/python3.8/site-packages/awscli/clidriver.py", line 78, in create_clidriver
    load_plugins(session.full_config.get('plugins', {}),
  File "/home/vagrant/.pyenv/versions/3.8.12/lib/python3.8/site-packages/awscli/plugin.py", line 44, in load_plugins
    modules = _import_plugins(plugin_mapping)
  File "/home/vagrant/.pyenv/versions/3.8.12/lib/python3.8/site-packages/awscli/plugin.py", line 61, in _import_plugins
    module = __import__(path, fromlist=[module])
  File "/home/vagrant/.pyenv/versions/3.8.12/lib/python3.8/site-packages/awscli/handlers.py", line 34, in <module>
    from awscli.customizations.codedeploy.codedeploy import initialize as \
  File "/home/vagrant/.pyenv/versions/3.8.12/lib/python3.8/site-packages/awscli/customizations/codedeploy/codedeploy.py", line 17, in <module>
    from awscli.customizations.codedeploy.push import Push
  File "/home/vagrant/.pyenv/versions/3.8.12/lib/python3.8/site-packages/awscli/customizations/codedeploy/push.py", line 24, in <module>
    from awscli.customizations.codedeploy.utils import validate_s3_location
  File "/home/vagrant/.pyenv/versions/3.8.12/lib/python3.8/site-packages/awscli/customizations/codedeploy/utils.py", line 19, in <module>
    from awscli.customizations.codedeploy.systems import System, Ubuntu, Windows, RHEL
  File "/home/vagrant/.pyenv/versions/3.8.12/lib/python3.8/site-packages/awscli/customizations/codedeploy/systems.py", line 14, in <module>
    import ctypes
  File "/home/vagrant/.pyenv/versions/3.8.12/lib/python3.8/ctypes/__init__.py", line 7, in <module>
    from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named '_ctypes'

このエラーが発生する場合、実行環境のPythonのビルドで、ctypesのビルドが実行されていない可能性があります。 Pythonのインストールでビルドが実行される場合、libffiが見つからないと、ctypesのビルドが実行されません。 このような環境でctypesを必要とするPythonスクリプトが実行されると、上記のようなエラーが発生します。

そのため、libffiがビルドできるようにします。CentOS 7の場合は、以下を実行します。

sudo yum install libffi-devel
成功したら、現環境のPythonのビルドを再度行います。

例 pyenvで、Python 3.8.12をインストールしている場合

pyenv install 3.8.12