【问题标题】:error installing nltk supporting packages : nltk.download()安装 nltk 支持包时出错:nltk.download()
【发布时间】:2015-03-01 06:48:29
【问题描述】:

我已经安装了 nltk 包。之后我尝试使用 nltk.download() 下载支持包,但出现错误:

[Errno 11001] 获取地址信息

我的机器/软件详细信息是:

操作系统:Windows 8.1 蟒蛇:3.3.4 NLTK 包:3.0

以下是python中运行的命令:

Python 3.3.4 (v3.3.4:7ff62415e426, Feb 10 2014, 18:13:51) [MSC v.1600 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.

import nltk

nltk.download()
showing info http://nltk.github.com/nltk_data/
True

nltk.download("all")
[nltk_data] Error loading all: <urlopen error [Errno 11001]
[nltk_data]     getaddrinfo failed>
False

它看起来像是要去http://nltk.github.com/nltk_data/,而理想情况下它应该尝试从http://www.nltk.org/nltk_data/ 获取数据。

在另一台机器上,当我们在浏览器中输入http://nltk.github.com/nltk_data/ 时,它会重定向到http://www.nltk.org/nltk_data/。我不明白为什么我的笔记本电脑上没有发生重定向。

我觉得这可能是问题所在。

请帮忙。

我添加了命令提示符截图。需要帮助..

问候, 邦森

【问题讨论】:

  • 你好@elyase 我没有 http_proxy 作为变量。这也是一台家用电脑,所以我没有防火墙。有什么具体的我应该在 DNS 中检查的吗?

标签: python python-3.x nltk


【解决方案1】:

试试下面的代码。它已按预期下载包

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()

在链接被 ssl 修复之前查看链接被破坏。

注意:- 已使用 MAC

【讨论】:

    【解决方案2】:

    由于网络限制,我收到此错误。这是我的解决方法

    浏览http://www.nltk.org/nltk_data/并从相应链接下载所需的语料库。

    然后将下载的文件放在windows中的C:/文件夹路径(或任何其他相关目录,如C:/ProgramData/Anaconda3)中与https://github.com/nltk/nltk_data/tree/gh-pages/packages中提到的相同文件夹结构中

    【讨论】:

      【解决方案3】:

      找到解决方案。我的问题是,当 NLTK 下载器启动时,它的服务器索引为 - http://nltk.github.com/nltk_data/

      这需要改成-http://nltk.org/nltk_data/

      您可以通过进入 NLTK 下载器窗口和文件->更改服务器索引来更改此设置。

      问候, 邦森

      【讨论】:

      • 嗨,我通过更改服务器克服了 nltk 下载器的这个问题,但是我如何在代码中做到这一点?我收到 [nltk_data] 加载所有错误: 运行代码时出错
      【解决方案4】:

      它通过“在环境变量中设置 http 和 https 代理”为我解决了问题

      set http_proxy=http://IPN:PWD@ipaddress:port
      set https_proxy=https://IPN:PWD@ipaddress:port
      

      向您的网络或管理团队询问此代理 IP 地址

      【讨论】:

        【解决方案5】:

        错误可能是系统具有的代理。答案请参考以下链接,已在此处发布答案:

        Error in downloading NLTK data: [Errno 11004] getaddrinfo failed

        【讨论】:

          【解决方案6】:

          我在 Jupyter 笔记本上也遇到了这个问题。来自另一个stackoverflow答案的以下代码sn-p有所帮助。以防万一它可能对其他人有所帮助 -

          import socket
          socket.getaddrinfo('localhost', 8080)
          

          参考:"getaddrinfo failed", what does that mean?

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2017-09-12
            • 2021-01-22
            • 1970-01-01
            • 2020-09-02
            • 2018-08-05
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多