Ошибка установки пакетов поддержки 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)