无法下载nltk数据

无法下载nltk数据

问题描述:

import nltk 
nltk.download() 

它显示[SSL:CERTIFICATE_VERIFY_FAILED]。在requests的情况下,可以使用verify=False,但这里要做什么。无法下载nltk数据

UPDATE:关于Python 3.6

此错误仍存在,与NLTK 3.0,在Mac OS X 10.7.5:

enter image description here

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

enter image description here

+0

您确定您使用的是最新版本的nltk,也许尝试nltk.download('all') – SAMO

+2

不是没有工作 –

+0

http://stackoverflow.com/a/37053858/1168680 – RAVI

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

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

,并放置在C PUNKT提取的文件夹:\ nltk_data \断词。

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

首先,请注意,证书错误只发生在我使用Python 3.x在我的Mac上下载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进行处理。

(添加“证书验证失败_ssl.c:749”。对于这个问题的SEO)

使用下载的保罗·巴里的尖端通过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中移除。

毕竟,我可以运行“导入nltk”和“从nltk.book导入*”没有问题。

我在尝试配置nltk和SpaCy时遇到同样的问题。根据this question中的说明,我能够解决这个问题。尝试运行/Applications/Python\ 3.6/Install\ Certificates.command,然后重试NLTK下载

在MacOS 10.12.6这是由在Bash终端输入以下解决

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

安装NLTK全集那么通常的方法为我工作

import nltk 
nltk.download()