SSL:下载python -m spacy download时出现CERTIFICATE_VERIFY_FAILED错误

时间:2019-04-18 09:12:46

标签: spacy

我已使用conda install -c conda-forge spacy在Anaconda提示符下下载了spacy。但是,当我尝试使用python -m spacy下载en_core_web_sm下载en_core_we_sm时,我得到SSL:CERTIFICATE_VERIFY_FAILED错误。 Screen Shot

5 个答案:

答案 0 :(得分:4)

在使用HTTPS的情况下,尝试从远程主机下载某些内容会产生SSL连接错误,例如,如果您的计算机位于代理之后,则该代理不允许您自由建立SSL连接。在这种情况下,诸如pip,python的conda或linux的apt-get或yum的下载管理器为用户提供了一些选项,以指定用于此类连接的证书或允许与远程主机进行此类下载的不可信通信。

但是,使用guest下载VIA spacy模型不提供此类选项。您不能添加任何SSL证书,也不能指定下载的可信主机。

幸运的是,有一个解决方法,包括两个单独的步骤,即下载和安装。也就是说,与受SSL控制的任何其他客户端(浏览器,curl,wget ...)一起下载模型,而不是通过GuestID

安装下载的模型。

https://github.com/explosion/spacy-models/releases上找到所需的合适模型,然后下载tar.gz文件,

python -m spacy download

然后像安装它一样

pip install

答案 1 :(得分:0)

首先,卸载Spacy并清理目录。然后使用以下链接进行安装-

pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org spacy

将pip3用于Python3并在终端中运行

python -m spacy download en_core_web_sm

让我知道您是否仍然遇到错误。跟随https://spacy.io/usage/models

答案 2 :(得分:0)

对我来说,问题是我从“ C:\ WINDOWS \ system32”以外的其他位置运行命令“ python -m spacy download en”。当我从“ C:\ WINDOWS \ system32”运行带有“以管理员身份运行”的命令时,它就像魅力一样工作。从其他位置似乎无法加载正确的ssl配置。

答案 3 :(得分:0)

只需下载直接版本。

python -m spacy download en_core_web_sm-2.2.0 --direct

我遇到了与您相同的错误,尝试了一下,然后成功了。有关更多信息,请参见模型页面中的一些其他详细信息: https://spacy.io/usage/models

答案 4 :(得分:0)

如果您因为无法验证证书而无法下载它,因为您在公司代理后面,您还可以通过首先通过请求下载文件并指定您不想检查证书来执行以下操作,然后通过pip安装:

import requests, os

lang = 'en'
r = requests.get(f'https://github.com/explosion/spacy-models/releases/download/{lang}_core_news_sm-3.0.0/{lang}_core_news_sm-3.0.0-py3-none-any.whl',
                 verify=False)  # verify=False to skip checking of certificate
file = f'{lang}_core_news_sm-3.0.0-py3-none-any.whl'
with open(file,'wb') as output_file:
    output_file.write(r.content)  # save the wheel locally
# then install it via pip
!pip install {file} --user  
os.remove(file)  # remove the file