Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
imapClient错误(不同版本的python和windows)_Python_Ssl_Imapclient - Fatal编程技术网

imapClient错误(不同版本的python和windows)

imapClient错误(不同版本的python和windows),python,ssl,imapclient,Python,Ssl,Imapclient,这个问题是paul_h提出的,但我太新了,不能(希望)用相关信息来评论。我在imapClient上也遇到了同样的问题,而且它显然不是特定于Python/Windows版本的。PaulH正在Win10上运行Python 2.7.11 我运行的是3.4.3,甚至升级到了3.5.1。在win7上,甚至尝试了一台旧的Vista机器 import imapclient imapObj = imapclient.IMAPClient('imap.gmail.com', ssl=True) 它返回: Tra

这个问题是paul_h提出的,但我太新了,不能(希望)用相关信息来评论。我在imapClient上也遇到了同样的问题,而且它显然不是特定于Python/Windows版本的。PaulH正在Win10上运行Python 2.7.11

我运行的是3.4.3,甚至升级到了3.5.1。在win7上,甚至尝试了一台旧的Vista机器

import imapclient
imapObj = imapclient.IMAPClient('imap.gmail.com', ssl=True)
它返回:

Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    imapObj = imapclient.IMAPClient('imap.gmail.com', ssl=True)
  File "C:\Python\lib\site-packages\imapclient\imapclient.py", line 152, in __init__
    self._imap = self._create_IMAP4()
  File "C:\Python\lib\site-packages\imapclient\imapclient.py", line 164, in _create_IMAP4
    self._timeout)
  File "C:\Python\lib\site-packages\imapclient\tls.py", line 153, in __init__
    imaplib.IMAP4.__init__(self, host, port)
  File "C:\Python\lib\imaplib.py", line 189, in __init__
    self.open(host, port)
  File "C:\Python\lib\site-packages\imapclient\tls.py", line 159, in open
    self.sock = wrap_socket(sock, self.ssl_context, host)
  File "C:\Python\lib\site-packages\imapclient\tls.py", line 126, in wrap_socket
    ssl_context = create_default_context()
  File "C:\Python\lib\site-packages\imapclient\tls.py", line 109, in create_default_context
    context.load_verify_locations(cadata=certs)
  File "C:\Python\lib\site-packages\backports\ssl\core.py", line 654, in load_verify_locations
    self._ctx.load_verify_locations(cafile, capath)
  File "C:\Python\lib\site-packages\OpenSSL\SSL.py", line 528, in load_verify_locations
    _raise_current_error()
  File "C:\Python\lib\site-packages\OpenSSL\_util.py", line 48, in exception_from_error_queue
    raise exception_type(errors)
OpenSSL.SSL.Error: []

很抱歉开始了一个新问题,但我不想把它作为一个答案

我也遇到了这个问题,我一直在等待有人回答,但花了很长时间。 我们使用的是IMAPclient 1.0.1,出现了此错误,因此解决方法是安装IMAPclient 0.13

pip uninstall imapclient
pip install imapclient==0.13

这里有一个适合我的变通方法(Python 3.5、Windows 10):

上面的代码是从开发人员的工作环境中派生出来的,但是我发现我只需要一行定义
context
就可以了。指定其他SSL/TLS协议也起到了作用

pip uninstall imapclient
pip install imapclient==0.13
from backports import ssl
from imapclient import IMAPClient

context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)

imapObj = IMAPClient('imap.gmail.com', ssl=True, ssl_context=context)