Ошибка SSL при загрузке данных NLTK

Я пытаюсь загрузить NLTK 3.0 для использования с Python 3.6 в Mac OS X 10.7.5, но получаю ошибку SSL:

import nltk
nltk.download()

Я скачал NLTK с помощью команды pip3: sudo pip3 install -U nltk,

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

Я относительно новичок в информатике и совсем не разбираюсь в SSL.

Мой вопрос, как просто решить эту проблему?


Вот аналогичный вопрос от пользователя, который имеет ту же проблему:

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

Я решил опубликовать новый вопрос со скриншотами, так как мое редактирование этого другого вопроса было отклонено.

Подобные вопросы, которые я не нашел полезными:

NLTK загрузить SSL: сбой проверки сертификата

ошибка загрузки с использованием nltk.download()

3 ответа

Решение

Вам не нужно отключать проверку SSL, если вы запускаете следующую терминальную команду:

/Applications/Python 3.6/Install Certificates.command

В месте 3.6поставь свою версию Python, если она более ранняя. Тогда вы сможете открыть свой интерпретатор Python (используя команду python3) и успешно запустить nltk.download() там.

Это проблема, в которой urllib использует встроенную версию OpenSSL, которой нет в хранилище системных сертификатов. Вот ответ с дополнительной информацией о том, что происходит.

Пожалуйста, смотрите ответ @doctorBroctor. Это правильнее и безопаснее в использовании. Оставьте ответ ниже, так как это может быть полезно для чего-то другого.

/questions/28310300/oshibka-ssl-pri-zagruzke-dannyih-nltk/28310304#28310304


Это будет работать, отключив проверку SSL.

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

В Finder найдите Python 3.6, Он появится в папке приложения. Разверните папку Python 3.6. Затем установите сертификаты с помощью "Install Certificates.command".

Для установки в Codestar единственный способ - вручную загрузить модули и сохранить их в папку nltk_data, создать среду лямбда-переменных NLTK_DATA с помощью valie ./nltk_data.

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