Google compute engine gsutil错误“;ImportError:无法导入名称常量“;我能';不固定

Google compute engine gsutil错误“;ImportError:无法导入名称常量“;我能';不固定,google-compute-engine,gsutil,Google Compute Engine,Gsutil,我正在尝试使用gsutil命令从gs bucket下载文件。这是从一个谷歌云虚拟机实例开始的,它一直在为我工作,直到周五它停止工作,我这边没有任何变化 无论出于什么原因,操作系统都是CentOS 6,因此默认python是2.6。当我开始在这个盒子上工作时,我能够使用env变量CLOUDSDK_PYTHON来指定python2.7路径,并且一切都工作了几个星期。突然,它停止了处理gsutil内部的一些python错误。我在盒子上找到了一个备份版本,并且一直在使用它,直到周五它停止工作 对于CLO

我正在尝试使用gsutil命令从gs bucket下载文件。这是从一个谷歌云虚拟机实例开始的,它一直在为我工作,直到周五它停止工作,我这边没有任何变化

无论出于什么原因,操作系统都是CentOS 6,因此默认python是2.6。当我开始在这个盒子上工作时,我能够使用env变量CLOUDSDK_PYTHON来指定python2.7路径,并且一切都工作了几个星期。突然,它停止了处理gsutil内部的一些python错误。我在盒子上找到了一个备份版本,并且一直在使用它,直到周五它停止工作

对于CLOUDSDK_PYTHON集,这就是我得到的错误

[每日网关节点bin]$gsutil-版本 回溯(最近一次呼叫最后一次): 文件“/usr/local/bin/gsutil”,第7行,在 从gslib.mainimport main 文件“/usr/local/lib/python2.7/site packages/gslib/main.py”,第39行,在 进口波托 文件“/usr/local/lib/python2.7/site packages/boto/init.py”,第1216行,在 加载插件(配置) 文件“/usr/local/lib/python2.7/site packages/boto/plugin.py”,第93行,加载插件 _导入模块(文件) 文件“/usr/local/lib/python2.7/site packages/boto/plugin.py”,第75行,在导入模块中 返回imp.load_模块(名称、文件、文件名、数据) 文件“/usr/lib/python2.6/site packages/google\u compute\u engine/boto/boto\u config.py”,第30行,在 从google_计算引擎导入常量 ImportError:无法导入名称常量

任何帮助都将不胜感激。最终,我要做的是从BigQuery获取数据,但不幸的是,Google只允许我们从本地导入到大查询,而不允许从大查询导出到本地,所以我一直在使用这个gsutil库,这一直给我带来问题。我能很好地运行bq命令


到目前为止,我已经在谷歌上搜索了很多次这个问题,并尝试了各种各样的解决方案,从设置CLOUDSDK_PYTHON到使用“/usr/local/bin/python2.7/usr/bin/gsutil-l”之类的东西运行gsutil,但都会出现上述错误。看起来Python2.7正在被使用,直到最后一次调用返回到2.6目录。我尝试用yum和pip重新安装googlecloudsdk,但都说它们是最新的。

我放弃了让python2.6与gsutil一起工作的尝试,因为我发现什么都不起作用,但我确实设法让它起作用

我的解决方案是使用python>2.7启动另一个Google Cloud实例,即ubuntu 16.04,并从该框运行gsutil,然后使用gcloud compute ssh远程执行gsutil命令,然后使用gcloud compute scp复制到CentOS 6框

从CentOS 6框运行这些命令,以复制目录中的所有文件:

gcloud compute ssh[GC\u Host\u For\u gsutil]--zone=us-west1-a--“gsutil-m cp-r\ [GS_BUCKET_WITH_NO_SLASH][NFS_DIR_WITH_SLASH];”

gcloud compute scp--zone=us-west1-a--recurse\
[GC_Host_For_gsutil]:[NFS_DIR_WITH_SLASH]*[final_destination_no_SLASH]