在将数据加载到seaborn时出现SSL: CERTIFICATE_VERIFY_FAILED错误?

8

我正在尝试从Github页面加载数据(这是标准seaborn数据集的一部分,您可以获得。)我使用的是PyCharm,但我不明白到底发生了什么。

import seaborn as sns

data = sns.load_dataset("tips")

然后我遇到了错误。为什么会出现这个错误?

/usr/local/bin/python3.7 "/Users/shahbhuiyan/Desktop/PyCharm Projects/Pandas/pycharmtest.py"

urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)>



你有检查过 https://dev59.com/t14c5IYBdhLWcg3wgqn2 吗? - ImportanceOfBeingErnest
3个回答

14

我遇到了同样的问题,并在这里找到了解决方案:http://www.programmersought.com/article/2877138500/

基本上,只需要添加这两行代码,然后尝试导入数据集:

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

这样,Python将忽略安全证书的验证


1
作为一种解决方法,它可以工作,但实际上这会禁用证书验证,对吗? - Rene

0
打开MAC OS的终端并尝试输入以下命令:"/Applications/Python 3.6/Install Certificates.command"。
这对我来说有效,因为MacOS上的Python 3.6使用嵌入式版本的OpenSSL,它不使用系统证书存储。更多详细信息请参见此处。

0

通过mwaskom的介绍,我们知道

load_datasethttps://github.com/mwaskom/seaborn-data中导入csv文件,但是您的系统无法与其建立安全连接。

因此,我们可以先在浏览器上从https://github.com/mwaskom/seaborn-data下载数据集,并将数据集目录的路径指定为/path/to/seaborn-data,然后我们可以让

data = sns.load_dataset('tips', data_home='/path/to/seaborn-data')

这样我们就可以解决由安全认证产生的问题,而不会有任何风险副作用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接