尝试为nltk安装Punkt时出现以下错误:
nltk.download('punkt')
[nltk_data] Error loading Punkt: <urlopen error [SSL:
[nltk_data] CERTIFICATE_VERIFY_FAILED] certificate verify failed
[nltk_data] (_ssl.c:590)>
False
答案 0 :(得分:18)
TLDR:这是一个更好的解决方案:https://github.com/gunthercox/ChatterBot/issues/930#issuecomment-322111087
请注意,当您运行nltk.download()
时,会弹出一个窗口,让您选择要下载的软件包(下载不会立即自动启动)。
为了补充已接受的答案,以下是将在Mac上搜索的目录的完整列表(不限于在接受的答案中提到的目录):
- '/Users/YOUR_USERNAME/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
- '/Users/YOUR_USERNAME/YOUR_VIRTUAL_ENV_DIRECTORY/nltk_data'
- '/Users/YOUR_USERNAME/YOUR_VIRTUAL_ENV_DIRECTORY/share/nltk_data'
- '/Users/YOUR_USERNAME/YOUR_VIRTUAL_ENV_DIRECTORY/lib/nltk_data'
如果上面的链接消失,这里是完整粘贴的解决方案:
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()
在您喜欢的Python IDE中或通过命令行运行上述代码。
答案 1 :(得分:8)
下载程序脚本已损坏。作为临时解决方法,可以从here手动下载punkt tokenizer,然后将解压缩的文件夹放在相应的位置。每个操作系统的默认文件夹是:
C:\nltk_data\tokenizers
/usr/local/share/nltk_data/tokenizers
/usr/share/nltk_data/tokenizers
答案 2 :(得分:6)
运行Python解释器并输入命令:
import nltk
nltk.download()
从这里开始:http://www.nltk.org/data.html
如果您收到SSL /证书错误,请运行以下命令
bash /Applications/Python 3.6/Install Certificates.command
从这里开始:ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)
答案 3 :(得分:2)
有一种非常简单的方法可以解决最近(例如2019年)使用MacOS遇到此问题的任何人的正式bug报告中编写的所有问题。来自https://bugs.python.org/issue28150的错误报告:
......有一个简单的双击可运行或命令行运行的脚本(“ / Applications / Python 3.6 / Install Certificates.command”),该脚本有两件事:1.使用pip安装certifi和2.创建OpenSSL目录中的符号链接到certifi的已安装包位置。
仅在MacOS(在撰写本文时为10.15 beta)上运行“ Install Certificates.command”脚本就对我有用,并且我已经关闭并正在运行。
答案 4 :(得分:2)
只需执行以下简单步骤即可安装证书
在python应用程序文件夹中,双击文件'Certificates.command'
这将在屏幕上显示一个提示窗口,基本上会自动为您安装证书,关闭此窗口,然后重试。
答案 5 :(得分:1)
这意味着您没有使用HTTPS与Python等的其他运行时依赖项一致。
如果您使用的是Linux(Ubuntu)
~$ sudo apt-get install ca-certificates
应该解决问题。
如果您在带有docker文件的脚本中使用它,则必须确保已在docker文件中安装ca-certificates模块。
答案 6 :(得分:1)
我的解决方法是:
答案 7 :(得分:1)
这就是我为 MAC OS 解决的方法。 最初安装 nltk 后,我收到 SSL 错误。
解决办法: 转到
to
运行命令
cd /Applications/Python\ 3.8
现在如果你再试一次,它应该可以工作!
非常感谢 this 篇文章!
答案 8 :(得分:0)
首先转到路径/ Applications / Python 3.6 /并运行 安装Certificates.command
您将拥有相同的管理员权限。
如果您无法下载,那么其他答案建议您可以直接下载并放置它。您需要将它们放在以下目录结构中。
> nltk_data
> corpora
> brown
> conll2000
> movie_reviews
> wordnet
> taggers
> averaged_perceptron_tagger
> tokenizers
> punkt
答案 9 :(得分:0)
我的解决方案无济于事。我通过GUI导航到Python 3.7文件夹,在终端中打开“ Certificates.command”文件,并且SSL问题立即得到解决。
答案 10 :(得分:0)
这可以通过禁用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()
答案 11 :(得分:0)
在查找器中搜索“安装Certificates.command”并打开它。
然后在终端中执行以下步骤:
Configuration
答案 12 :(得分:0)
聚会晚了一点,但是我只是在Spotlight中输入了Certificates.command并找到并运行了它。全部固定在几秒钟内。
我正在运行Mac Catalina,并使用Homebrew安装的python 3.7