Google Cloud SDK安装错误:UnicodeDecodeError:'ascii'编解码器无法解码位置197中的字节0xe2:序号不在范围内(128)

Gau*_*pta 6 google-cloud-platform google-cloud-sdk

Google Cloud SDK安装过程在我的计算机(MAC)上失败,并让我跟踪堆栈跟踪.

Traceback (most recent call last):
  File "/Users/ttn/Desktop/google-cloud-sdk/bin/bootstrapping/install.py", line 218, in <module>
    main()
  File "/Users/ttn/Desktop/google-cloud-sdk/bin/bootstrapping/install.py", line 203, in main
    sdk_root=bootstrapping.SDK_ROOT,
  File "/Users/ttn/Desktop/google-cloud-sdk/lib/googlecloudsdk/core/platforms_install.py", line 452, in UpdateRC
    completion_update, path_update, rc_path, sdk_root, host_os).Update()
  File "/Users/ttn/Desktop/google-cloud-sdk/lib/googlecloudsdk/core/platforms_install.py", line 214, in Update
    self.path, rc_contents, source_line=self._GetSourceLine())
  File "/Users/ttn/Desktop/google-cloud-sdk/lib/googlecloudsdk/core/platforms_install.py", line 167, in _GetRcContents
    filtered_contents=filtered_contents, line=line)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 197: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

这里有更多细节:

系统的默认python版本

python -V
Python 3.6.1 :: Anaconda custom (x86_64)
Run Code Online (Sandbox Code Playgroud)

适用于Cloud SDK的Python版本.

echo $CLOUDSDK_PYTHON
/usr/bin/python2.7
Run Code Online (Sandbox Code Playgroud)

检查gcloud命令

gcloud
-bash: gcloud: command not found
Run Code Online (Sandbox Code Playgroud)

注意:这个问题可能看似重复,但我尝试在门户网站上提供的解决方案很少,但对我来说没有任何效果.

dkr*_*roy 2

下面链接了一个解决此问题的公开拉取请求,该请求修复了该问题。问题是其中一个文件包含非 ASCII 字符,导致 Google Cloud SDK 安装程序失败。Python 2.7 中的函数open()不允许指定的编码。

修复:
所有带有 的引用open()都应替换为io.open(..., encoding='utf-8'). 再次检查拉取请求以查看这些更改。

资源:
- https://github.com/google-cloud-sdk/google-cloud-sdk/pull/2/files