Python NLTK下载SSL:证书验证失败
尝试为nltk安装Punkt时出现以下错误:Python NLTK下载SSL:证书验证失败,python,ssl-certificate,nltk,Python,Ssl Certificate,Nltk,尝试为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 nltk.download('punkt') [nltk_数据
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
nltk.download('punkt')
[nltk_数据]加载Punkt时出错:
假的
下载程序脚本已损坏。作为一种临时解决方法,您可以手动从下载punkt令牌,然后将解压缩的文件夹放置在相应的位置。每个操作系统的默认文件夹为:
- Windows:
C:\nltk\U数据\tokenizers
- OSX:
/usr/local/share/nltk_data/tokenizers
- Unix:
/usr/share/nltk_data/tokenizers
如果在docker文件的脚本中使用此选项,则必须确保已在docker文件中安装ca证书模块。运行Python解释器并键入以下命令:
import nltk
nltk.download()
从这里开始:
如果出现SSL/证书错误,请运行以下命令
bash/Applications/Python 3.6/Install Certificates.command
从这里开始:首先转到路径/Applications/Python 3.6/并运行 安装证书.命令 您将获得相同的管理员权限 如果您无法下载它,那么正如其他答案所建议的,您可以直接下载并放置它。您需要将它们放置在以下目录结构中
> nltk_data
> corpora
> brown
> conll2000
> movie_reviews
> wordnet
> taggers
> averaged_perceptron_tagger
> tokenizers
> punkt
TLDR:这里有一个更好的解决方案: 请注意,当您运行
nltk.download()
时,会弹出一个窗口,让您选择要下载的软件包(下载不会立即自动启动)
为了补充已接受的答案,以下是将在Mac上搜索的目录的完整列表(不限于已接受答案中提到的目录):
-“/Users/YOUR_USERNAME/nltk_data”
-“/usr/share/nltk_data”
-“/usr/local/share/nltk_data”
-“/usr/lib/nltk_数据”
-“/usr/local/lib/nltk_data”
-“/Users/YOUR_USERNAME/YOUR_VIRTUAL_ENV_目录/nltk_数据”
-“/Users/YOUR_USERNAME/YOUR_VIRTUAL_ENV_目录/share/nltk_数据”
-“/Users/YOUR_USERNAME/YOUR_VIRTUAL_ENV_目录/lib/nltk_数据”
如果上面的链接失效,下面是完整粘贴的解决方案:
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中或通过命令行运行上述代码。我的解决方案是:
- 从下载punkt.zip并解压缩
- 在主文件夹下创建nltk_数据/标记化器文件夹
- 将punkt文件夹放在tokenizers文件夹下
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的任何其他人,有一种非常简单的方法可以修复正式的错误报告中所述的所有问题。从以下位置的错误报告: …有一个简单的可双击或命令行可运行脚本(“/Applications/Python 3.6/Install Certificates.command”),它完成两件事:1。使用pip安装certifi和2。在OpenSSL目录中创建指向certifi安装包位置的符号链接
只需在MacOS上运行“Install Certificates.command”脚本(截至本文撰写之时为10.15 beta版),我就可以关机并运行了。您只需通过这个简单的步骤安装证书 在python应用程序文件夹中,双击文件“Certificates.command”
这将在您的屏幕上显示一个提示窗口,基本上会自动为您安装证书,请关闭此窗口并重试。在finder中搜索“install Certificates.command”并将其打开 然后在终端中执行以下步骤:
python3
导入nltk
nltk.download()
参加聚会有点晚,但我刚刚将Certificates.command输入到Spotlight中,Spotlight找到并运行了它。在几秒钟内全部修复
我运行的是mac Catalina,使用的是自制的python 3.7,工作起来就像gemYes,下载到我的用户目录路径,工作起来很有魅力。非常有用,因为我没有管理员权限。事实上,我在一个站在我身后的管理员的帮助下尝试了这个被接受的答案,但这对我来说并不奏效。这一个对我有效!不是第一个。我需要禁用SSL,正如你提到的!这比寻找每次OS-X更新都会丢失的命令更可靠。非常感谢,这很有魅力。我正在OSX 10.14.6(Mojave)上使用Python3.8.0,这是值得的。这么简单。祝福你!谢谢这在Mac Big Sur上运行。适用于Python 3.7.4和Mac OSX MojaveWorks on Big Sur:),使用刚刚发布的MacOS 10.15,无法找到“Install Certificates.command”文件。没有
/Applications/Python 3.x
目录。您使用的是哪个版本的Python?macOS 10.15上预装的/usr/bin/Python 3
中的Python 3.7.3我也在使用Python 3,但没有预装。也许这就是区别。请尝试安装另一个版本,并查看目录是否存在,以便执行这些操作。或者是在以后的版本(3.6之后)中更改了目录,尽管我对此表示怀疑。当我回到我的Mac电脑时,我会核实的。谢谢。干得好!适用于macOS 10.13.6
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()