安装Google Cloud SDK时出现httplib2.SSLHandshakeError

时间:2017-03-23 20:43:34

标签: python python-2.7 google-app-engine httplib2 google-cloud-sdk

安装Google Cloud SDK - Python时,会出现httplib2.SSLHandshake错误。我已经配置了unfilled_client_secrets.json(显示在返回下面)。而这还没有解决HandshakeError。

下面已经提出了类似的问题,但没有一个明确回答。感谢您提前获得的任何帮助。

  

〜$ ./google-cloud-sdk/install.sh欢迎使用Google Cloud SDK!

     

追踪(最近的呼叫最后):
  文件   " /用户/ rptrainor /./谷歌云-SDK / bin中/自举/ install.py&#34 ;,   第206行,in       主()
  文件" / Users / rptrainor /./ google-cloud-sdk / bin / bootstrapping / install.py",   第184行,主要       安装(pargs.override_components,pargs.additional_components)
  文件   " /用户/ rptrainor /./谷歌云-SDK / bin中/自举/ install.py&#34 ;,   第130行,在安装中       _CLI.Execute([' - quiet','组件',' list'])
  文件" /Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py",   第759行,执行中       self._HandleAllErrors(exc,command_path_string,specified_arg_names)
  文件   " /Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py" ;,   第737行,执行中       resources = args.calliope_command.Run(cli = self,args = args)
  文件" /Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/calliope/backend.py",   第741行,在Run中       display_info = self.ai.display_info)。显示()
  文件" /Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/calliope/display.py",   显示屏中的第427行       self._printer.Print(self._resources)
  文件" /Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/core/resource/resource_printer_base.py" ;,第251行,打印       资源资源:
  文件" /Users/rptrainor/google-cloud-sdk/lib/surface/components/list.py",   第86行,在Run中       result = update_manager.List()
  文件" /Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/core/updater/update_manager.py",   列表中的第516行       _,diff = self._GetStateAndDiff(command_path =' components.list')
  文件   " /Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/core/updater/update_manager.py" ;,   第446行,在_GetStateAndDiff中       command_path = command_path)
  文件" /Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/core/updater/update_manager.py",   第479行,在_GetLatestSnapshot中       * effective_url.split(','),command_path = command_path)
  文件" /Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/core/updater/snapshots.py",   第165行,FromURLs       for url in urls]
  文件" /Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/core/updater/snapshots.py",   第186行,在_DictFromURL中       response = installers.ComponentInstaller.MakeRequest(url,command_path)
  文件   " /Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/core/updater/installers.py" ;,   第283行,在MakeRequest中       return url_opener.urlopen(req,timeout = timeout)
  文件" /Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/core/url_opener.py",   第69行,在urlopen       return opener.open(req,data,timeout)
  文件" /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py",   第404行,公开       response = self._open(req,data)
  文件" /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py",   第8行,在_open中       ' _open',req)File" /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py",   第382行,在_call_chain中       result = func(* args)File" /Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/core/url_opener.py",   第54行,在https_open中       return self.do_open(build,req)
  文件" /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py",   第1181行,在do_open中       h.request(req.get_method(),req.get_selector(),req.data,headers)文件   " /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py" ;,   第995行,请求       self._send_request(方法,网址,正文,标题)
  文件" /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py",   第1029行,在_send_request中       self.endheaders(主体)
  文件" /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py",   第991行,在终结者中       self._send_output(MESSAGE_BODY)
  文件" /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py",   第844行,在_send_output中       self.send(MSG)
  文件" /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py",   806行,发送       self.connect()
  文件" / Users / rptrainor / google-cloud-sdk / lib / third_party / httplib2 / init .py",   第1081行,在连接中       提出SSLHandshakeError(e)

     

httplib2.SSLHandshakeError:[Errno 1] _ssl.c:510:错误:14090086:SSL>例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败

{
  "web":{
    "client_id":"[[CLIENT_ID_IS_HERE]]",
    "project_id":"[[PROJECT_ID_IS_HERE]]",
    "auth_uri":"https://accounts.google.com/o/oauth2/auth",
    "token_uri":"https://accounts.google.com/o/oauth2/token",
        "auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs",
    "client_secret":"[[CLIENT_SECRET_IS_HERE]]"
    }
}

2 个答案:

答案 0 :(得分:2)

尝试将Python更新到最新的2.7.x版本。我可以解决将Python更新到2.7.13的同样问题。

答案 1 :(得分:0)

一个愚蠢但有效的解决方案可能是通过浏览器访问这些URL并接受他们的证书。

同时检查计算机的时间。如果不合适,我的意思是不在当前日期。服务器不会共享证书。