AWS CLI利用時のUnicode warningに対応する、Python3でのAWS CLIのインストール手順

AWS運用自動化サービス「Cloud Automator」

AWS CLI利用時のUnicode warningに対応する、Python3でのAWS CLIのインストール手順

気になるところ

Windows環境にてAWS CLIを利用した際(特にs3関係の操作をしたとき)に以下のようなメッセージが出力されることがあります。

aws s3 ls
D:\Amazon\AWSCLI.\dateutil\parser.py:605: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode – interpreting them as being unequal
2017-06-06 15:05:28 awslogs-cloudtrail-0123456789
2017-06-01 19:13:19 cf-templates-0123456789
2017-06-09 16:21:23 log-info-0123456789

AWS CLIのmsiインストーラーはPython2系がインストールされる様になっており、
AWS CLIのコードの処理で、Unicode warningが出力される (警告表示されるだけで、通常大きな問題はないです。
ただログに該当の情報が出ると可視性が悪くなるため、可能ならば出ないようにしたいのが本音です。

簡単な対応法

AWS CLIは、Python3系にも対応しています。
Python3系では文字列をUnicodeで扱うようになっているので、該当の問題はでなくなります。なので、Python2系を他のプログラムで利用していなければ、Python3を利用するように変更するのが手っ取り早い対応となります。
また、コマンドについてはPython3でも共通となります。

(他にはAWS Tools for Windows PowerShellを使う、該当のコードを書き換えるなどがあります。)

ただ、直接インストールするためのmsiのパッケージは存在しないため、
Python3系をインストーラーでインストール後、
Python3のpipから、AWS CLIをインストールする必要があります。

インストール手順

既存のAWS CLIの削除 (msiでAWS CLIをインストール済みの場合に実行

  • アンインストール
    スタートメニューを右クリックし、
    コントロールパネル -> プログラム -> プログラムのアンインストール を開く
    AWS Command Line Interface を選択し、右クリック、アンインストールを行う

Python3のインストール

  1. パッケージのダウンロード
    Pythonの公式webサイト(https://www.python.org/downloads/) へアクセスし、Python3のインストーラーをダウンロードする
  2. インストール
    インストーラーを実行
    最初のSetup画面で、 Add Python 3.x to PATH というチェックボックスがあるので、これにチェックを入れて、パスを通す
  3. 起動テスト
    コマンドプロンプトから、 python
    とコマンドを入力し、以下の表示で起動するかテストする
    Python 3.x.x (以下省略)
    起動したら exit() と入力しpythonを終了させる
  4. パスの設定 (インストール時に設定を忘れた場合
    スタートメニューを右クリックし、
    コントロールパネル -> プログラム -> プログラムのアンインストール を開く
    Python 3.x.x を選択し右クリック -> アンインストールと変更 を選択
    セットアップ画面が開くので、 Modify を選択
    最初の画面(Optional Features) は何も変更せず、Nextを選択
    Advanced Option の画面で、 Add Python to enviromental Variables に追加でチェックを入れ、Installを選択
    終了後、コマンドラインを起動し、起動テストをして動けばOK

AWS CLIのインストール

  1. インストール
    コマンドプロンプトから pip install awscli を実行
  2. 起動テスト aws とコマンドを入力し、 usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] と出力されればOK

システム環境変数の更新

AWS CLI実行ファイルのパス情報をシステム環境変数のPATHの値に追加する

  1. OSログインユーザの確認
    pipにてaws cliをインストールしたユーザ(Administrator想定)にてログインしていること
  2. ユーザ環境変数のPATHの値を確認
    システムプロパティの画面より、環境変数の設定とユーザ環境変数のPATHに登録されている値を確認
    PATHの値は、インストールしたPythonバージョンや実行ユーザにより異なる
  3. システム環境変数のPATHに、ユーザ環境変数に登録されている値を登録
    各値の区切りは「;」を利用する


    C:\Program Files\tool;C:\Program Files\soft

  4. OS再起動
    最後にOS再起動を実施し、起動後動作を確認する
AWS運用自動化サービス「Cloud Automator」