Python 下载NLTK数据时发生SSL错误

Python 下载NLTK数据时发生SSL错误,python,macos,ssl,ssl-certificate,nltk,Python,Macos,Ssl,Ssl Certificate,Nltk,我正在尝试下载NLTK 3.0,以便在Mac OS X 10.7.5上与Python 3.6一起使用,但遇到SSL错误: import nltk nltk.download() 我用一个pip3命令下载了NLTK:sudopip3安装-U NLTK 更改NLTK下载程序中的索引允许下载程序显示所有NLTK文件,但当尝试下载所有文件时,会出现另一个SSL错误(请参见照片底部): 我对计算机科学比较陌生,对SSL一点也不了解 我的问题是如何简单地解决这个问题 下面是一个有相同问题的用户提出的

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

import nltk
nltk.download()

我用一个pip3命令下载了NLTK:
sudopip3安装-U NLTK

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

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

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


下面是一个有相同问题的用户提出的类似问题:

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

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


请参阅@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版本。有关正在进行的操作的更多信息。

在Finder中,搜索
Python3.6
。 它将出现在应用程序文件夹下。 展开Python3.6文件夹。 然后使用“install certificates.command”安装证书


以codestar安装的唯一方法是手动下载模块并将其保存到nltk_数据文件夹中,使用valie/nltk_数据创建一个lambda变量环境nltk_数据。

只是一个提示,panlex_lite相当大,所以它可能看起来是冻结的。检查您的控制台是否有任何错误。此外,它有点错误,因此如果失败,请尝试单独下载其余的包。或者从~/ntlk_数据文件夹(zip+文件夹)中删除一个失败的文件并重试!无限感谢。你能简单地解释一下我为什么会出错以及你的代码在做什么吗?我猜它绕过了某种SSL安全机制,这种机制阻止我访问文件的GitHub位置?这个解决方案在macOS 10.13.12年后使用homebrew()软件包管理器对我起到了作用,这个答案仍然可以完美地工作。谢谢工作起来很有魅力。注意:在这一步之后仍然需要运行
nltk.download()
。如何为ubuntu执行此操作?由于某些原因,我没有此文件路径(mac)。我通过Anaconda下载了python,如果这有什么区别的话。@try sh“/Applications/python 3.6/Install Certificates.command”-开头的sh和引号很重要。我以为我也没有dir,但结果是空格把我甩了。。。。如果您正在复制并粘贴到终端中,其结果应该是这样的:
/Applications/Python\3.6/Install\Certificates.command
太棒了,如果您在MAC上,这会很有帮助!