SSL 错误下载 NLTK 数据

SSL error downloading NLTK data

我正在尝试下载 NLTK 3.0 以便在 Mac OS X 10.7.5 上与 Python 3.6 一起使用,但出现 SSL 错误:

import nltk
nltk.download()

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

更改 NLTK 下载器中的索引允许下载器显示所有 NLTK 文件,但是当尝试下载所有文件时,会出现另一个 SSL 错误(见照片底部):

我对计算机科学还比较陌生,对 SSL 一点也不了解。

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


这是一位遇到同样问题的用户提出的类似问题:

Unable to download nltk data

我决定 post 一个带有屏幕截图的新问题,因为我对另一个问题的编辑被拒绝了。

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

downloading error using nltk.download()

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


这将通过禁用 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()

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

/Applications/Python 3.6/Install Certificates.command

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

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

在 Finder 中,搜索 Python 3.6。 它将出现在应用程序文件夹下。 展开 Python 3.6 文件夹。 然后使用 "Install Certificates.command".

安装证书

要在 codestar 中安装,唯一的方法是手动下载模块并将它们保存到 nltk_data 文件夹中,用 valie ./nltk_data.[=10= 创建一个 lambda 变量环境 NLTK_DATA ]