株式会社サーバーワークス's job postings
- ソリューションアーキテクト
- プロジェクトマネージャー
- テクニカルオペレーション
- Other occupations (4)
- Development
- Business
- Other
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をインストール済みの場合に実行
python
とコマンドを入力し、以下の表示で起動するかテストするPython 3.x.x (以下省略)
exit()
と入力しpythonを終了させるpip install awscli
を実行aws
とコマンドを入力し、usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
と出力されればOKAWS CLI実行ファイルのパス情報をシステム環境変数のPATHの値に追加する