Невозможно загрузить данные 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 *".