gsutil 不再有效?

gsutil no longer works?

我已经使用 gcloud 和 gsutil 一段时间了,但现在突然对任何 gsutil 命令我 运行 我收到错误:

回溯(最近调用最后):
  文件“/Users/julian/google-cloud-sdk/bin/bootstrapping/gsutil.py”,第 12 行,位于
    导入自举
  文件“/Users/julian/google-cloud-sdk/bin/bootstrapping/bootstrapping.py”,第 22 行,位于
    从 googlecloudsdk.core.credentials 将商店导入为 c_store
  文件“/Users/julian/google-cloud-sdk/lib/googlecloudsdk/core/credentials/store.py”,第 27 行,位于
    从 googlecloudsdk.core 导入 http
  文件“/Users/julian/google-cloud-sdk/lib/googlecloudsdk/core/http.py”,第 31 行,位于
    来自 googlecloudsdk.core.资源导入 session_capturer
  文件“/Users/julian/google-cloud-sdk/lib/googlecloudsdk/core/resource/session_capturer.py”,第 32 行,位于
    来自 googlecloudsdk.core.资源导入 yaml_printer
  文件“/Users/julian/google-cloud-sdk/lib/googlecloudsdk/core/resource/yaml_printer.py”,第 17 行,位于
    来自 googlecloudsdk.core.资源导入 resource_printer_base
  文件“/Users/julian/google-cloud-sdk/lib/googlecloudsdk/core/resource/resource_printer_base.py”,第 38 行,位于
    来自 googlecloudsdk.core.资源导入 resource_projector
  文件“/Users/julian/google-cloud-sdk/lib/googlecloudsdk/core/resource/resource_projector.py”,第 34 行,位于
    从 google.protobuf 导入 json_format 为 protobuf_encoding
导入错误:无法导入名称 json_format

我尝试了 gcloud 更新和 gcloud 重新安装,但仍然遇到同样的问题。是不是和python安装有冲突?还有其他想法吗?

当您安装了 google protobuf 包时会出现此问题。

您可以通过 运行

使用旧版本来解决此问题
gcloud components update --version 175.0.0

或通过删除 google protobuf 包安装 python。

pip remove protobuf

如果您不想执行其中任何一个,他们可以安装单独的 2.7 版本 python(没有 protobuf)并设置 CLOUDSDK_PYTHON=/path/to/python 环境变量。

下一个版本的 cloud sdk 应该有这个修复。

您也可以通过更新到最新版本的 protobuf 来修复此错误。那你就不用降级gcloud了。

pip install protobuf --upgrade

我遇到了同样的问题。我正在使用 mac。 查看 /usr/local/lib/python2.7/site-packages 我发现了一个自制的 protobuf link。 我用 "rm homebrew-protobuf.pth" 删除了它 然后 gsutil 开始工作。

对于使用 Google Cloud SDK rpm 安装的 CentOS 7.5(可能也更早),删除 protobuf-python 包 yum remove protobuf-python 将解决这个问题。

我通过更新 protobuf 的自制程序安装在我的 Mac 上解决了这个问题:

$ brew upgrade protobuf
...
==> Upgrading 1 outdated package, with result:
protobuf 2.6.1 -> 3.6.0
...

请参阅 gsutil GitHub 存储库中的 this issue