5

在安装 Google Cloud SDK - Python 时,不断发生 httplib2.SSLHandshakeError。我已经配置了 unfilled_client_secrets.json(显示在返回下方)。而这并没有解决 HandshakeError。

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

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

回溯(最后一次调用):
文件“/Users/rptrainor/./google-cloud-sdk/bin/bootstrapping/install.py”,第 206 行,在 main()
文件“/Users/rptrainor/./google- cloud-sdk/bin/bootstrapping/install.py”,第 184 行,在主安装(pargs.override_components,pargs.additional_components)
文件“/Users/rptrainor/./google-cloud-sdk/bin/bootstrapping/install.py “,第 130 行,在安装 _CLI.Execute(['--quiet', 'components', 'list'])
文件“/Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py” ,第 759 行,在 Execute self._HandleAllErrors(exc, command_path_string, specified_arg_names)
文件“/Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py”,第 737 行,在执行资源 = args.calliope_command.Run(cli=self, args=args)
文件“/Users/ rptrainor/google-cloud-sdk/lib/googlecloudsdk/calliope/backend.py”,第 741 行,在运行 display_info=self.ai.display_info).Display()
文件“/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 行,运行结果 = update_manager.List()
文件“/Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/core/updater/update_manager.py”,第 516 行,列表 _,diff = self._GetStateAndDiff(command_path='components.list')
文件“/用户/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”,第 429 行,在 _GetLatestSnapshot *effective_url.split(','), command_path=command_path)
文件“/Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/core/updater/snapshots. py",第 165 行,在 FromURLs 中用于 urls 中的 url]
文件“/Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/core/updater/snapshots.py”,第 186 行,在 _DictFromURL 响应 = installers.ComponentInstaller.MakeRequest(url, command_path)
文件“/Users/rptrainor/ google-cloud-sdk/lib/googlecloudsdk/core/updater/installers.py”,第 283 行,在 MakeRequest 返回 url_opener.urlopen(req, timeout=timeout)
文件“/Users/rptrainor/google-cloud-sdk/lib/ googlecloudsdk/core/url_opener.py”,第 69 行,在 urlopen 返回 opener.open(req, data, timeout)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py” ,第 404 行,打开响应 = self._open(req, data)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第 422 行,在 _open '_open',req) 文件“/Library/Frameworks/Python.framework/Versions/ 2.7/lib/python2.7/urllib2.py”,第 382 行,在 _call_chain 结果 = func(*args) 文件“/Users/rptrainor/google-cloud-sdk/lib/googlecloudsdk/core/url_opener.py”,行54,在 https_open 返回 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(body)
文件“/Library/Frameworks/Python.framework/Versions/ 2.7/lib/python2.7/httplib.py”,第 991 行,在 endheaders 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: error:14090086:SSL >routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

{
  "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]]"
    }
}
4

2 回答 2

3

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

于 2017-09-12T15:24:02.427 回答
0

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

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

于 2017-05-19T12:40:24.577 回答