下载NLTK数据时出现SSL错误

时间:2016-12-27 16:22:49

标签: python macos ssl ssl-certificate nltk

我正在尝试下载NLTK 3.0以便在Mac OS X 10.7.5上使用Python 3.6,但我收到了SSL错误:

import nltk
nltk.download()

enter image description here

我使用pip3命令下​​载了NLTK:sudo pip3 install -U nltk

更改NLTK下载程序中的索引允许下载程序显示所有NLTK文件,但是当一个人尝试下载所有文件时,会发生另一个SSL错误(请参阅照片底部):

enter image description here

我对计算机科学比较陌生,对SSL一点都不精通。

我的问题是如何简单地解决这个问题?

以下是遇到相同问题的用户的类似问题:

Unable to download nltk data

我决定发布一个带截图的新问题,因为我对其他问题的编辑被拒绝了。

我认为没有帮助的类似问题:

NLTK download SSL: Certificate verify failed

downloading error using nltk.download()

4 个答案:

答案 0 :(得分:101)

如果运行以下终端命令,则无需禁用SSL检查:

/Applications/Python 3.6/Install Certificates.command

3.6的位置,如果是早期的Python,请放置您的Python版本。然后你应该能够打开你的Python解释器(使用命令python3)并在那里成功运行nltk.download()

这是一个问题,其中urllib使用不在系统证书存储区中的嵌入式OpenSSL版本。 Here's an answer了解有关正在发生的事情的更多信息。

答案 1 :(得分:73)

请参阅@doctorBroctor的回答。它使用起来更正确,更安全。在下面留下答案,因为它可能对其他东西有用。

https://stackoverflow.com/a/42890688/1167890

这可以通过禁用SSL检查来实现。

import nltk
import ssl

try:
    _create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
    pass
else:
    ssl._create_default_https_context = _create_unverified_https_context

nltk.download()

答案 2 :(得分:16)

在Finder中,搜索Python 3.6。 它将出现在Application文件夹下。 展开 Python 3.6 文件夹。 然后使用“Install Certificates.command”安装证书。

enter image description here

答案 3 :(得分:0)

要仅在codestar中安装,请手动下载模块并将其保存到nltk_data文件夹中,并使用val ./nltk_data创建一个lambda变量环境NLTK_DATA。