NLTK 下载 SSL:证书验证失败
NLTK download SSL: Certificate verify failed
我在尝试为 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
下载脚本损坏。作为暂时的解决方法,可以从 here 手动下载 punkt tokenizer,然后将解压缩的文件夹放在相应的位置。每个 OS 的默认文件夹是:
- Windows:
C:\nltk_data\tokenizers
- OSX:
/usr/local/share/nltk_data/tokenizers
- Unix:
/usr/share/nltk_data/tokenizers
这意味着您没有使用 HTTPS 来与 Python 等的其他 运行 时间依赖性保持一致
如果您正在使用 Linux (Ubuntu)
~$ sudo apt-get install ca-certificates
应该可以解决问题。
如果您在带有 docker 文件的脚本中使用它,您必须确保在 docker 文件中安装了 ca-certificates 模块。
运行 Python 解释器并键入命令:
import nltk
nltk.download()
从这里开始:http://www.nltk.org/data.html
如果出现 SSL/Certificate 错误,运行 执行以下命令
bash /Applications/Python 3.6/Install Certificates.command
从这里开始:ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)
先去路径/Applications/Python3.6/和运行
安装 Certificates.command
您将拥有相同的管理员权限。
如果您无法下载,那么按照其他回答建议您可以直接下载并放置。您需要将它们放在以下目录结构中。
> nltk_data
> corpora
> brown
> conll2000
> movie_reviews
> wordnet
> taggers
> averaged_perceptron_tagger
> tokenizers
> punkt
TLDR:这是一个更好的解决方案:https://github.com/gunthercox/ChatterBot/issues/930#issuecomment-322111087
注意当你运行nltk.download()
时,会弹出一个window让你select下载哪些包(下载不会马上自动开始) .
为了补充已接受的答案,以下是将在 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'
如果上面的 link 失效,这里是完整粘贴的解决方案:
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()
运行以上代码在你最喜欢的PythonIDE或通过命令行。
我的解决方案是:
- 从 here 下载 punkt.zip 并解压
- 在主文件夹下创建 nltk_data/tokenizers 个文件夹
- 将 punkt 文件夹放在 tokenizers 文件夹下
我的解决方案无效。我通过 GUI 导航到 Python 3.7 文件夹,在终端中打开 'Certificates.command' 文件,SSL 问题立即得到解决。
这可以通过禁用 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()
对于最近(例如 2019 年)遇到此问题并使用 MacOS 的任何其他人,有一种非常简单的方法可以解决所有这些问题,如正式错误报告中所写。来自 https://bugs.python.org/issue28150 的错误报告:
...there is a simple double-clickable or command-line-runnable script ("/Applications/Python 3.6/Install Certificates.command") that does two things: 1. uses pip to install certifi and 2. creates a symlink in the OpenSSL directory to certifi's installed bundle location.
只是 运行 "Install Certificates.command" 脚本在 MacOS(撰写本文时为 10.15 beta)上对我有用,我离开了 运行。
您只需执行此简单步骤即可安装证书
在 python 应用程序文件夹中双击文件 'Certificates.command'
这将在您的屏幕上显示 window 提示,基本上会自动为您安装证书,关闭此 window 并重试。
在查找器中搜索 'Install Certificates.command' 并打开它。
然后在终端中执行以下步骤:
python3
import nltk
nltk.download()
参加晚会有点晚了,但我刚 Certificates.command 进入 Spotlight 就找到了它 运行。全部在几秒钟内修复。
我是 运行 mac Catalina,使用 python 3.7 由 Homebrew 安装
我就是这样解决 MAC OS 的。
最初安装 nltk 后,我遇到了 SSL 错误。
解决方法:
转到
cd /Applications/Python\ 3.8
运行命令
./Install\ Certificates.command
现在,如果您再试一次,应该可以了!
非常感谢 this 文章!
我在尝试为 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
下载脚本损坏。作为暂时的解决方法,可以从 here 手动下载 punkt tokenizer,然后将解压缩的文件夹放在相应的位置。每个 OS 的默认文件夹是:
- Windows:
C:\nltk_data\tokenizers
- OSX:
/usr/local/share/nltk_data/tokenizers
- Unix:
/usr/share/nltk_data/tokenizers
这意味着您没有使用 HTTPS 来与 Python 等的其他 运行 时间依赖性保持一致
如果您正在使用 Linux (Ubuntu)
~$ sudo apt-get install ca-certificates
应该可以解决问题。
如果您在带有 docker 文件的脚本中使用它,您必须确保在 docker 文件中安装了 ca-certificates 模块。
运行 Python 解释器并键入命令:
import nltk
nltk.download()
从这里开始:http://www.nltk.org/data.html
如果出现 SSL/Certificate 错误,运行 执行以下命令
bash /Applications/Python 3.6/Install Certificates.command
从这里开始:ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)
先去路径/Applications/Python3.6/和运行 安装 Certificates.command
您将拥有相同的管理员权限。
如果您无法下载,那么按照其他回答建议您可以直接下载并放置。您需要将它们放在以下目录结构中。
> nltk_data
> corpora
> brown
> conll2000
> movie_reviews
> wordnet
> taggers
> averaged_perceptron_tagger
> tokenizers
> punkt
TLDR:这是一个更好的解决方案:https://github.com/gunthercox/ChatterBot/issues/930#issuecomment-322111087
注意当你运行nltk.download()
时,会弹出一个window让你select下载哪些包(下载不会马上自动开始) .
为了补充已接受的答案,以下是将在 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'
如果上面的 link 失效,这里是完整粘贴的解决方案:
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()
运行以上代码在你最喜欢的PythonIDE或通过命令行。
我的解决方案是:
- 从 here 下载 punkt.zip 并解压
- 在主文件夹下创建 nltk_data/tokenizers 个文件夹
- 将 punkt 文件夹放在 tokenizers 文件夹下
我的解决方案无效。我通过 GUI 导航到 Python 3.7 文件夹,在终端中打开 'Certificates.command' 文件,SSL 问题立即得到解决。
这可以通过禁用 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()
对于最近(例如 2019 年)遇到此问题并使用 MacOS 的任何其他人,有一种非常简单的方法可以解决所有这些问题,如正式错误报告中所写。来自 https://bugs.python.org/issue28150 的错误报告:
...there is a simple double-clickable or command-line-runnable script ("/Applications/Python 3.6/Install Certificates.command") that does two things: 1. uses pip to install certifi and 2. creates a symlink in the OpenSSL directory to certifi's installed bundle location.
只是 运行 "Install Certificates.command" 脚本在 MacOS(撰写本文时为 10.15 beta)上对我有用,我离开了 运行。
您只需执行此简单步骤即可安装证书
在 python 应用程序文件夹中双击文件 'Certificates.command'
这将在您的屏幕上显示 window 提示,基本上会自动为您安装证书,关闭此 window 并重试。
在查找器中搜索 'Install Certificates.command' 并打开它。
然后在终端中执行以下步骤:
python3
import nltk
nltk.download()
参加晚会有点晚了,但我刚 Certificates.command 进入 Spotlight 就找到了它 运行。全部在几秒钟内修复。
我是 运行 mac Catalina,使用 python 3.7 由 Homebrew 安装
我就是这样解决 MAC OS 的。 最初安装 nltk 后,我遇到了 SSL 错误。
解决方法: 转到
cd /Applications/Python\ 3.8
运行命令
./Install\ Certificates.command
现在,如果您再试一次,应该可以了!
非常感谢 this 文章!