Ошибка 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
Я решил опубликовать новый вопрос со скриншотами, так как мое редактирование этого другого вопроса было отклонено.
Подобные вопросы, которые я не нашел полезными:
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.