我一直在使用gcloud和gsutil一段时间,但现在我突然发现任何gsutil命令我得到错误:
Traceback (most recent call last): File "/Users/julian/google-cloud-sdk/bin/bootstrapping/gsutil.py", line 12, in import bootstrapping File "/Users/julian/google-cloud-sdk/bin/bootstrapping/bootstrapping.py", line 22, in from googlecloudsdk.core.credentials import store as c_store File "/Users/julian/google-cloud-sdk/lib/googlecloudsdk/core/credentials/store.py", line 27, in from googlecloudsdk.core import http File "/Users/julian/google-cloud-sdk/lib/googlecloudsdk/core/http.py", line 31, in from googlecloudsdk.core.resource import session_capturer File "/Users/julian/google-cloud-sdk/lib/googlecloudsdk/core/resource/session_capturer.py", line 32, in from googlecloudsdk.core.resource import yaml_printer File "/Users/julian/google-cloud-sdk/lib/googlecloudsdk/core/resource/yaml_printer.py", line 17, in from googlecloudsdk.core.resource import resource_printer_base File "/Users/julian/google-cloud-sdk/lib/googlecloudsdk/core/resource/resource_printer_base.py", line 38, in from googlecloudsdk.core.resource import resource_projector File "/Users/julian/google-cloud-sdk/lib/googlecloudsdk/core/resource/resource_projector.py", line 34, in from google.protobuf import json_format as protobuf_encoding ImportError: cannot import name json_format
我尝试了gcloud update和gcloud重新安装,但仍然遇到同样的问题。是否与python安装有冲突?还有其他想法吗?
您还可以通过更新到最新版本的protobuf来修复此错误。然后你不必降级gcloud。
pip install protobuf --upgrade
如果您安装了google protobuf软件包,则会出现此问题。
您可以通过运行使用旧版本来解决此问题
gcloud components update --version 175.0.0
或通过删除谷歌protobuf包python安装。
pip remove protobuf
如果你不想做其中任何一个,他们可以安装一个单独的2.7 python版本(没有protobuf)并设置CLOUDSDK_PYTHON = / path / to / python环境变量。
另外下一个版本的云sdk应该有这个修复。
我遇到过同样的问题。我正在使用mac。查看/usr/local/lib/python2.7/site-packages我发现了一个自制的protobuf链接。我用“rm homebrew-protobuf.pth”删除了它然后gsutil开始工作了。
对于使用Google Cloud SDK rpm安装的CentOS 7.5(可能更早),删除protobuf-python包yum remove protobuf-python
将解决此问题。
我通过更新自制的protobuf
安装来解决这个问题:
$ brew upgrade protobuf
...
==> Upgrading 1 outdated package, with result:
protobuf 2.6.1 -> 3.6.0
...
请参阅gsutil GitHub仓库中的this issue。