Ошибка установки пакетов поддержки nltk: nltk.download()

Я установил пакет nltk. После этого я пытаюсь загрузить вспомогательные пакеты с помощью nltk.download() и получаю сообщение об ошибке:

[Errno 11001] getaddrinfo

Детали моей машины / программного обеспечения:

ОС: Windows 8.1 Python: 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/. Я не понимаю, почему перенаправление не происходит на моем ноутбуке.

Я чувствую, что это может быть проблемой.

Пожалуйста, помогите.

Я добавил скриншот командной строки. Нужна помощь..

С уважением, Бонсон

10 ответов

Решение

Получил решение. Проблема в моем случае заключалась в том, что при запуске загрузчика NLTK он имел индекс сервера как - http://nltk.github.com/nltk_data/

Это должно быть изменено на - http://nltk.org/nltk_data/

Вы можете изменить это, зайдя в окно NLTK Downloader и File->Change Server Index.

С уважением, Бонсон

Попробуйте код ниже. Он загрузил пакет, как ожидалось

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 использовался

Я получил эту ошибку из-за ограничений сети. Вот как я решил

Зайдите на http://www.nltk.org/nltk_data/ и загрузите требуемые корпуса по соответствующей ссылке.

Затем поместил загруженные файлы в C:/ путь к папке в Windows (или любых других соответствующих каталогах, например C:/ProgramData/Anaconda3) в той же структуре папок, упомянутой в https://github.com/nltk/nltk_data/tree/gh-pages/packages

Это помогло мне решить проблему путем "установки прокси http & https в переменных окружения"

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

спросите у своего сетевого или админ-команды этот прокси-IP-адрес

У нас также есть возможность загрузить пакеты с помощью приглашения Python или из ноутбуков со следующей конфигурацией. Это может быть http или https в зависимости от настроек вашего прокси.

      import nltk
nltk.set_proxy('http://username:password@proxy.example.com:port')

Я также столкнулся с той же проблемой. Первоначально я использовал широкополосный доступ (оптоволокно Jio), который мог ограничить мне загрузку файла (из-за безопасности), но затем я использовал мобильный интернет (через сим-карту), и он был загружен, и моя проблема была решена.

Попробуйте код ниже, чтобы загрузить стоп-слова или изменить их соответствующим образом:

      import nltk

nltk.download('stopwords')

from nltk.corpus import stopwords

stopwords.words('english')

После 6 дней попыток найти полезное решение мне помогло следующее:

Перейдите туда, где у вас есть папка NLTK_data. Если у вас его нет, просто создайте здесь: C:\nltk_data

перетащите этот репозиторий GitHub в указанную выше папку, используя

      **git pull https://github.com/nltk/nltk_data.git**

или вы можете скачать его прямо отсюда: https://github.com/alyssaq/nltk_data/tree/master

Если вы хотите загрузить punkt, вам нужна структура папок, например C:\nltk_data\tokenizers\punkt. Убедитесь, что в указанном выше каталоге есть нужный вам рассол. (В моем случае это english.pickle)

Аналогично, если вы хотите использовать Wordnet, убедитесь, что структура папок следующая: C:\nltk_data\corpora\wordnet.

Внесите соответствующие изменения в модуль, который вы хотите использовать в своем коде.

Ошибка может быть прокси-сервером, который есть в системе. Обратитесь к следующей ссылке для ответа, разместили ответ там:

Ошибка при загрузке данных NLTK: [Errno 11004] getaddrinfo не удалось

      #1. I was facing [nltk_data] Error loading punkt: <urlopen error [Errno 11001] issue in Jupyter Notebook
                
#2. To soled it I just change my network form office to Mobile.
#3. This issue came because of restriction to download any module from office n/w
#4. Use below code in Jupyter Notebook
        import pandas as pd
        import numpy as np
        import matplotlib.pyplot as plt
        import seaborn as sns
        import nltk
        nltk.download('punkt')
            
            [nltk_data] Downloading package punkt to
            [nltk_data]     C:\Users\avinaskh\AppData\Roaming\nltk_data...
            [nltk_data]   Unzipping tokenizers\punkt.zip.

Я столкнулся с этой проблемой и на моем ноутбуке Jupyter. Приведенный ниже фрагмент кода из другого ответа stackoverflow помог. На всякий случай это может помочь кому-то другому -

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

Ссылка: "getaddrinfo failed", что это значит?

Другие вопросы по тегам