cel*_*del 3 sockets errno dataset ssl-certificate scikit-learn
我尝试使用来自 sklearn 的 fetch_olivetti_faces 数据集,但由于某些原因,如果您能帮助我,我无法解决此 IOError 问题:
这是我运行的代码:
from sklearn import datasets
data = datasets.fetch_olivetti_faces()
Run Code Online (Sandbox Code Playgroud)
这是我得到的 IOError:
IOError: [Errno socket error] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)
Run Code Online (Sandbox Code Playgroud)
这是我得到的所有错误:
File "/anaconda3/lib/python2.7/site-packages/sklearn/datasets/olivetti_faces.py", line 120, in fetch_olivetti_faces
mat_path = _fetch_remote(FACES, dirname=data_home)
File "/anaconda3/lib/python2.7/site-packages/sklearn/datasets/base.py", line 874, in _fetch_remote
urlretrieve(remote.url, file_path)
File "/anaconda3/lib/python2.7/urllib.py", line 98, in urlretrieve
return opener.retrieve(url, filename, reporthook, data)
File "/anaconda3/lib/python2.7/urllib.py", line 245, in retrieve
fp = self.open(url, data)
File "/anaconda3/lib/python2.7/urllib.py", line 213, in open
return getattr(self, name)(url)
File "/anaconda3/lib/python2.7/urllib.py", line 443, in open_https
h.endheaders(data)
File "/anaconda3/lib/python2.7/httplib.py", line 1038, in endheaders
self._send_output(message_body)
File "/anaconda3/lib/python2.7/httplib.py", line 882, in _send_output
self.send(msg)
File "/anaconda3/lib/python2.7/httplib.py", line 844, in send
self.connect()
File "/anaconda3/lib/python2.7/httplib.py", line 1263, in connect
server_hostname=server_hostname)
File "/anaconda3/lib/python2.7/ssl.py", line 363, in wrap_socket
_context=self)
File "/anaconda3/lib/python2.7/ssl.py", line 611, in __init__
self.do_handshake()
File "/anaconda3/lib/python2.7/ssl.py", line 840, in do_handshake
self._sslobj.do_handshake()
IOError: [Errno socket error] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)
Run Code Online (Sandbox Code Playgroud)
您只需导入ssl包并通过以下行执行以下命令即可解决问题:
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
Run Code Online (Sandbox Code Playgroud)
请注意,这会禁用证书验证,从而有效地关闭 SSL。此解决方案在开发环境中很好,但在面向公众的任何地方使用此解决方案之前,必须先整理您的证书。
| 归档时间: |
|
| 查看次数: |
1049 次 |
| 最近记录: |