我一直在使用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安装有冲突?还有其他想法吗?
5 回答
您还可以通过更新到最新版本的protobuf来修复此错误 . 然后你不必降级gcloud .
如果您安装了google protobuf软件包,则会出现此问题 .
您可以通过运行使用旧版本来解决此问题
或通过删除谷歌protobuf包python安装 .
如果你不想做其中任何一个,他们可以安装一个单独的2.7 python版本(没有protobuf)并设置CLOUDSDK_PYTHON = / path / to / python环境变量 .
另外下一个版本的 Cloud 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
的自制软件安装来解决这个问题:请参阅gsutil GitHub仓库中的this issue .