无法下载nltk数据

7
import nltk
nltk.download()

它显示[SSL:CERTIFICATE_VERIFY_FAILED]。在使用requests时,可以使用verify=False,但是这里该怎么办。

更新:

此错误在Python 3.6上持续存在,使用NLTK 3.0,在Mac OS X 10.7.5上:

enter image description here

更改 NLTK 下载器中的索引(建议在这里)可以使下载器显示所有 NLTK 文件,但是当尝试下载全部文件时,会出现另一个 SSL 错误(请参见照片底部)。

enter image description here


你确定你正在使用最新版本的nltk吗?也许尝试一下nltk.download('all')。 - SAMO
https://dev59.com/t14c5IYBdhLWcg3wgqn2#37053858 - RAVI
2
我在使用Python 3.6和NLTK 3.0在Mac OS X 10.7.5上也遇到了这个错误。我还没有找到解决方案。 - DyingIsFun
麻烦。我这里也是在Mac上使用Python 3.6。 - user305883
5个回答

8

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


4
在 MacOS 10.12.6 上,可以通过在 bash 终端中输入以下内容来解决这个问题。
pip install certifi
/Applications/Python\ 3.6/Install\ Certificates.command

对我而言,安装NLTK语料库的常规方法成功了。

import nltk
nltk.download()

2

0

(为了解决这个问题的SEO,添加“certificate verify failed _ssl.c:749”)

在我的Mac 10.12.2上,通过使用Paul Barry的方法从Python 2.7下载解决了我的问题(我无法发表评论因为声望<50)。

遇到和解决的额外问题: 为了能够通过python 2.7(默认的Mac Python 2.7设置)下载NLTK,我还必须像this comment所示那样将Python文件夹添加到/.bash_profile中。

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

经过所有这些,我可以运行“import nltk”和“from nltk.book import *”而不会出现问题。


0

好的,这有点小技巧,但这是我在我的Mac笔记本上(运行macOS 10.12.2)使用Python 3.x使用各种NLTK数据文件所必须做的。

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

我的“ah ha!”时刻是当我意识到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进行处理。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接