无法下载nltk数据

时间:2016-08-02 16:09:51

标签: python-2.7 python-3.x ssl nltk osx-lion

import nltk
nltk.download()

显示[SSL:CERTIFICATE_VERIFY_FAILED]。如果是requests,可以使用verify=False,但可以使用此处。

更新:

在Mac OS X 10.7.5上使用NLTK 3.0的Python 3.6上仍然存在此错误:

enter image description here

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

enter image description here

5 个答案:

答案 0 :(得分:7)

尝试配置nltk和SpaCy时遇到了同样的问题。根据{{​​3}}中的说明,我能够克服这个问题。尝试运行/Applications/Python\ 3.6/Install\ Certificates.command,然后重试NLTK下载

答案 1 :(得分:3)

在MacOS 10.12.6上,通过在bash终端中输入以下内容来解决此问题

pip install certifi
/Applications/Python\ 3.6/Install\ Certificates.command

安装nltk语料库的常用方法然后为我工作

import nltk
nltk.download()

答案 2 :(得分:1)

如果您想手动下载,例如需要tokenizer/punkt数据,可以直接下载到:

https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/tokenizers/punkt.zip

并将punkt解压缩文件夹放在C:\ nltk_data \ tokenizers中。

答案 3 :(得分:0)

好的,这有点像黑客,但是我必须做的就是能够在我的Mac笔记本电脑上运行Python 3.x中的各种NLTK数据文件(运行macOS 10.12.2)。

首先,请注意,只有当我尝试在Mac上使用Python 3.x下载NLTK数据时才会出现证书错误(我在使用Python 3.x时,VirtualBox内部的Ubuntu VM没有这样的错误 - 这很烦人)。为什么这会导致我的Mac上的错误超出我的范围,特别是当NLTK模块使用pip安装到Python 3.x时没有问题。这是与NLTK下载服务器的连接,似乎会导致SSL验证问题。

我的'啊哈!'当我意识到NLTK - 安装到Python 3.x或Python 2.x中 - 在任何计算机上安装的所有Python版本中共享相同的目录结构时。所以,我使用预先安装在macOS上的Python 2.x来安装NLTK,然后在Python 2.x中使用nltk.download()来安装停用词语料库而没有任何问题。完成这个(在Python 2.x中)之后,我又回到了Python 3.x,这个代码工作了:

import nltk
from nltk.corpus import stopwords
print(stopwords.words('english'))

正如我所说,这有点像黑客,但这种技术让我可以使用Python 2.x安装NLTK数据,我可以根据需要使用Python 3.x进行处理。

答案 4 :(得分:0)

(添加"证书验证失败_ssl.c:749"对于此问题的SEO。)

通过使用Paul Barry在Python 2.7上下载的提示,在Mac上为我解决了10.12.2(我无法发表评论,因为代表< 50)

遇到并修复了其他问题: 为了能够通过python 2.7(默认的Mac Python 2.7设置)下载NLTK,我还必须将Python文件夹添加到/ {bash_profile,如this comment所示。

然后,因为我已经为2.7设置了这个路径变量,所以我必须在下载语料库后删除它才能启动python3。所以在启动python3之前将它从/.bash_profile中删除。

毕竟,我可以运行" import nltk"和"来自nltk.book import *"没有问题。

相关问题