在 MacOS 中,gcloud 组件更新失败并出现 UnicodeDecodeError

gcloud components update fails with UnicodeDecodeError in MacOS

gcloud 组件更新在 MacOS 中失败并出现 UnicodeDecodeError。目前尚不清楚在 MacOS 中会导致此问题的原因,它说 Hotfix for UnicodeDecodeError issue affecting logging。我该如何解决这个问题?

这是我当前的配置

gcloud -v
Google Cloud SDK 190.0.0
beta 2017.09.15
bq 2.0.29
core 2018.02.16
gsutil 4.28
Updates are available for some Cloud SDK components.  To install them,
please run:
  $ gcloud components update

这是我得到的错误

  Container Engine
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 859, in emit
    msg = self.format(record)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 732, in format
    return fmt.format(record)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 474, in format
    s = self._fmt % record.__dict__
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 6: ordinal not in range(128)
Logged from file log.py, line 184
      ▪ Added container/use_v1_api_client property as an alias of
        container/use_v1_api. container/use_v1_api is still supported.

  Kubernetes Engine
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 859, in emit
    msg = self.format(record)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 732, in format
    return fmt.format(record)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 474, in format
    s = self._fmt % record.__dict__
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 6: ordinal not in range(128)
Logged from file log.py, line 184
      ▪ Added --enable-pod-security-policy flag to enable PodSecurityPolicy
        enforcement in clusters: gcloud <alpha|beta> container clusters
        <create|update> --enable-pod-security-policy

  Stackdriver Debugger
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 859, in emit
    msg = self.format(record)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 732, in format
    return fmt.format(record)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 474, in format
    s = self._fmt % record.__dict__
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 6: ordinal not in range(128)
Logged from file log.py, line 184
      ▪ Changed gcloud beta source upload command to use the .gcloudignore
        file if present. If not present and .gitignore is, .gitignore will
        still be used. See gcloud topic gcloudignore to learn more.

190.0.1 (2018-02-22)
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 859, in emit
    msg = self.format(record)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 732, in format
    return fmt.format(record)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 474, in format
    s = self._fmt % record.__dict__
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 6: ordinal not in range(128)
Logged from file log.py, line 184
      ▪ Hotfix for UnicodeDecodeError issue affecting logging.

我可以看到你的 Python 版本是好的 (2.7)。 在尝试更新之前,您可能需要 运行 gcloud init

如果问题仍然存在或者您已经 运行 上述命令,reinstall gcloud. Current version was released today (198.0.0) 会更快。