Невозможно загрузить данные nltk

import nltk
nltk.download()

Это показывает [SSL:CERTIFICATE_VERIFY_FAILED], В случае requests можно использовать verify=Falseно что тут делать.

ОБНОВИТЬ:

Эта ошибка сохраняется в Python 3.6, с NLTK 3.0, в Mac OS X 10.7.5:

Изменение индекса в загрузчике NLTK (предлагается здесь) позволяет загрузчику показывать все файлы NLTK, но когда кто-то пытается загрузить все, он получает другую ошибку SSL (см. Внизу фотографии):

5 ответов

У меня была такая же проблема при попытке настроить как nltk, так и SpaCy. По инструкции в этом вопросе я смог преодолеть проблему. Попробуйте запустить /Applications/Python\ 3.6/Install\ Certificates.commandзатем повторите попытку загрузки NLTK

В MacOS 10.12.6 это было решено путем ввода следующего в терминале bash

pip install certifi
/Applications/Python\ 3.6/Install\ Certificates.command

тогда у меня работал обычный способ установки nltk corpora

import nltk
nltk.download()

Если вы хотите загрузить вручную, например, вам нужно tokenizer/punkt Данные вы можете скачать напрямую по адресу:

https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/tokenizers/punkt.zip

и поместите папку, извлеченную из punkt, в C:\nltk_data\tokenizers.

Хорошо, это немного хакерство, но вот что я должен был сделать, чтобы иметь возможность использовать различные файлы данных NLTK в Python 3.x на моем ноутбуке Mac (под управлением macOS 10.12.2).

Во-первых, обратите внимание, что ошибка сертификата возникает, только когда я пытаюсь загрузить данные NLTK с помощью Python 3.x на моем Mac (моя виртуальная машина Ubuntu внутри VirtualBox не имела такой ошибки при использовании Python 3.x - что раздражает). Я не знаю, почему это приводит к ошибке на моем Mac, тем более что модуль NLTK устанавливается в Python 3.x с использованием pip без проблем. Это соединение с сервером загрузок NLTK, которое, по-видимому, вызывает проблему проверки SSL.

Мой ах! настал момент, когда я понял, что NLTK - при установке в Python 3.x или Python 2.x - имеет одинаковую структуру каталогов среди всех версий Python, установленных на любом компьютере. Итак, для установки NLTK я использовал Python 2.x, предустановленный на macOS, а затем использовал nltk.download() в Python 2.x для установки корпуса стоп-слов без проблем. Сделав это (в Python 2.x), я вернулся в Python 3.x, и этот код работал:

import nltk
from nltk.corpus import stopwords
print(stopwords.words('english'))

Как я уже сказал, это немного взломано, но этот метод позволяет мне установить данные NLTK с помощью Python 2.x, которые я могу обработать с помощью Python 3.x по мере необходимости.

(Добавление SEO сертификата не удалось _ssl.c:749"для SEO этой проблемы.)

Решено для меня на Mac, 10.12.2 с помощью совета Пола Барри о загрузке через Python 2.7 (я не могу комментировать, потому что респ < 50)

Обнаружены и устранены дополнительные проблемы: Чтобы иметь возможность загружать NLTK через python 2.7 (установка по умолчанию для Mac Python 2.7), мне также пришлось добавить папку Python в /.bash_profile, как показано в этом комментарии.

Затем, так как я установил эту переменную пути для 2.7, мне пришлось удалить ее после загрузки корпуса, чтобы иметь возможность запустить python3. Поэтому удалите его из /.bash_profile перед запуском python3.

После всего этого я могу без проблем запускать "import nltk" и "from nltk.book import *".

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