localstack / localstack/localstack-cli

unicode encoding error in windows

オープン
#2 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

bug
主要言語
Makefile
スター
27
フォーク
9
PR マージ指標
30日以内にマージされた PR はありません

説明

when running the packaged CLI for windows, i get the following errors, which blocks the startup in the cockpit app https://github.com/localstack/localstack-desktop (where the same error is thrown when executing using `spawn` in a node process). i can reproduce it in a MinGW environment like GitBash

```
thomas@DESKTOP-HDNUHFQ MINGW64 ~
$ ./AppData/Local/Programs/localstack-cockpit/resources/vendor/win32/localstack-packaged-cli/localstack.exe start
Traceback (most recent call last):
File "main.py", line 6, in
File "localstack\cli\main.py", line 6, in main
File "localstack\cli\plugin.py", line 15, in __call__
File "click\core.py", line 1128, in __call__
File "click\core.py", line 1053, in main
File "click\core.py", line 1659, in invoke
File "click\core.py", line 1395, in invoke
File "click\core.py", line 754, in invoke
File "localstack\cli\localstack.py", line 122, in cmd_start
File "localstack\cli\localstack.py", line 435, in print_version
File "rich\console.py", line 1637, in print
File "rich\console.py", line 837, in __exit__
File "rich\console.py", line 795, in _exit_buffer
File "rich\console.py", line 1927, in _check_buffer
File "encodings\cp1252.py", line 19, in encode
UnicodeEncodeError: 'charmap' codec can't encode character '\U0001f4bb' in position 1: character maps to
*** You may need to add PYTHONIOENCODING=utf-8 to your environment ***
[13272] Failed to execute script 'main' due to unhandled exception!

__ _______ __ __
/ / ____ _________ _/ / ___// /_____ ______/ /__
/ / / __ \/ ___/ __ `/ /\__ \/ __/ __ `/ ___/ //_/
/ /___/ /_/ / /__/ /_/ / /___/ / /_/ /_/ / /__/ ,<
/_____/\____/\___/\__,_/_//____/\__/\__,_/\___/_/|_|

```

some observations:

* it works using powershell
* cp1252 refers to windows encoding: https://en.wikipedia.org/wiki/Windows-1252
* this is not related to the locale configuration
```
thomas@DESKTOP-HDNUHFQ MINGW64 ~
$ locale
LANG=en_US.utf8
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_ALL=en_US.utf8
```

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、MinGW または GitBash 環境でパッケージ化された CLI の失敗を再現し、localstack/cli/localstack.py の print_version 周辺を調査します。そこでは traceback が Rich 出力に到達します。その動作を PowerShell と比較し、CLI が cp1252 UnicodeEncodeError なしで正常に起動することを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
cli
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。