下载NLTK数据时出现SSL错误

Gol*_*lin 66 python macos ssl ssl-certificate nltk

我试图在Mac OS X 10.7.5上下载NLTK 3.0以用于Python 3.6,但是我收到了SSL错误:

import nltk
nltk.download()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

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

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

在此输入图像描述

我对计算机科学比较陌生,对SSL一点也不陌生.

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


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

无法下载nltk数据

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

类似的问题,我没有找到帮助:

NLTK下载SSL:证书验证失败

使用nltk.download()下载错误

doc*_*tor 112

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

/Applications/Python 3.6/Install Certificates.command
Run Code Online (Sandbox Code Playgroud)

取而代之的是3.6,如果是早期的Python版本,请将其放置.然后你应该能够打开你的Python解释器(使用命令python3)并成功运行nltk.download().

这是一个问题,其中urllib使用不在系统证书存储区中的嵌入式OpenSSL版本.这是一个答案,提供有关正在发生的事情的更多信息.

  • ...如果你复制并粘贴到终端,最终应该看起来像这样:`/ Applications/Python\3.6/Install\Certificates.command` (9认同)
  • 如何为ubuntu做这个? (4认同)
  • @FortuneFaded尝试sh"/ Applications/Python 3.6/Install Certificates.command" - 开头的sh和引号很重要.我以为我也没有这个目录,但事实证明这是让我失望的空间. (3认同)
  • 由于某种原因,我没有这个文件路径(mac)。我通过 Anaconda 下载了 python,如果这有什么不同的话。 (2认同)

Sim*_*rty 79

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

/sf/answers/3002348191/


这将通过禁用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()
Run Code Online (Sandbox Code Playgroud)


小智 18

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

在此输入图像描述

  • 太棒了,如果您使用的是 MAC,这会很有帮助! (2认同)