使用googleapipythonclient init()方法时出现SSL错误

2024-09-30 16:38:58 发布

您现在位置:Python中文网/ 问答频道 /正文

  • python==3.8.2
  • 谷歌api python客户端==1.6.51.9.3

你好,

我在使用google api python客户端时遇到SSL错误。调用sample_tools.init()获取服务对象会触发错误。在我重新安装Kubuntu并更新到Python3.8(来自3.6.10)之前,这是可行的

我在谷歌上搜索过,但找不到确切的错误。我尝试更新库的版本,但没有成功,于是又回到了旧版本。如果我不知道该尝试什么,欢迎提供任何帮助、文档或资源

我还尝试使用pyenv为3.8.2安装了另外一个可选的python3 openssl和libssl dev,如前所述here,然后在PyCharm中使用该python安装了virtualenv。不走运

这是回溯:

Traceback (most recent call last):
  File "/home/madtyn/PycharmProjects/alfredBot/my_bot.py", line 427, in main
    reload_credentials()
  File "/home/madtyn/PycharmProjects/alfredBot/apis/blogger/blogger_insert.py", line 84, in reload_credentials
    service, flags = sample_tools.init(
  File "/home/madtyn/venvs/alfred38/lib/python3.8/site-packages/googleapiclient/sample_tools.py", line 90, in init
    credentials = tools.run_flow(flow, storage, flags)
  File "/home/madtyn/venvs/alfred38/lib/python3.8/site-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/home/madtyn/venvs/alfred38/lib/python3.8/site-packages/oauth2client/tools.py", line 243, in run_flow
    credential = flow.step2_exchange(code, http=http)
  File "/home/madtyn/venvs/alfred38/lib/python3.8/site-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/home/madtyn/venvs/alfred38/lib/python3.8/site-packages/oauth2client/client.py", line 2053, in step2_exchange
    resp, content = transport.request(
  File "/home/madtyn/venvs/alfred38/lib/python3.8/site-packages/oauth2client/transport.py", line 280, in request
    return http_callable(uri, method=method, body=body, headers=headers,
  File "/home/madtyn/venvs/alfred38/lib/python3.8/site-packages/httplib2/__init__.py", line 1322, in request
    (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
  File "/home/madtyn/venvs/alfred38/lib/python3.8/site-packages/httplib2/__init__.py", line 1072, in _request
    (response, content) = self._conn_request(conn, request_uri, method, body, headers)
  File "/home/madtyn/venvs/alfred38/lib/python3.8/site-packages/httplib2/__init__.py", line 995, in _conn_request
    conn.connect()
  File "/usr/lib/python3.8/http/client.py", line 1409, in connect
    self.sock = self._context.wrap_socket(self.sock,
  File "/usr/lib/python3.8/ssl.py", line 500, in wrap_socket
    return self.sslsocket_class._create(
  File "/usr/lib/python3.8/ssl.py", line 1040, in _create
    self.do_handshake()
  File "/usr/lib/python3.8/ssl.py", line 1309, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL] internal error (_ssl.c:1108)

Tags: inpyselfhomevenvsinitrequestlib
1条回答
网友
1楼 · 发布于 2024-09-30 16:38:58

看起来,谷歌日历中也存在同样的问题。谷歌日历github repo中提交了一个开放bug。 解决这个问题可能需要一些时间

参考:https://github.com/home-assistant/core/issues/35870

现在,您可以在同一台机器上安装多个python版本。如果通过安装,请从源代码方法编译。安装时,请使用altinstall。通过这种方式,您可以将以前工作的python版本指向您的应用程序并完成它。解决后,您可以切换回较新的版本

相关问题 更多 >