株式会社サーバーワークスでは一緒に働く仲間を募集しています
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のインストール
- パッケージのダウンロード
Pythonの公式webサイト(https://www.python.org/downloads/) へアクセスし、Python3のインストーラーをダウンロードする - インストール
インストーラーを実行
最初のSetup画面で、 Add Python 3.x to PATH というチェックボックスがあるので、これにチェックを入れて、パスを通す - 起動テスト
コマンドプロンプトから、python
とコマンドを入力し、以下の表示で起動するかテストするPython 3.x.x (以下省略)
起動したらexit()
と入力しpythonを終了させる - パスの設定 (インストール時に設定を忘れた場合
スタートメニューを右クリックし、
コントロールパネル -> プログラム -> プログラムのアンインストール を開く
Python 3.x.x を選択し右クリック -> アンインストールと変更 を選択
セットアップ画面が開くので、 Modify を選択
最初の画面(Optional Features) は何も変更せず、Nextを選択
Advanced Option の画面で、 Add Python to enviromental Variables に追加でチェックを入れ、Installを選択
終了後、コマンドラインを起動し、起動テストをして動けばOK
AWS CLIのインストール
- インストール
コマンドプロンプトからpip install awscli
を実行 - 起動テスト
aws
とコマンドを入力し、 -
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
と出力されればOK
システム環境変数の更新
AWS CLI実行ファイルのパス情報をシステム環境変数のPATHの値に追加する
- OSログインユーザの確認
pipにてaws cliをインストールしたユーザ(Administrator想定)にてログインしていること - ユーザ環境変数のPATHの値を確認
システムプロパティの画面より、環境変数の設定とユーザ環境変数のPATHに登録されている値を確認
PATHの値は、インストールしたPythonバージョンや実行ユーザにより異なる - システム環境変数のPATHに、ユーザ環境変数に登録されている値を登録
各値の区切りは「;」を利用する
例
C:\Program Files\tool;C:\Program Files\soft - OS再起動
最後にOS再起動を実施し、起動後動作を確認する