Подтвердить что ты не робот

NLTK скачать SSL: проверка сертификата не удалась

При попытке установить Punkt для nltk я получаю следующую ошибку:

nltk.download('punkt')    
 [nltk_data] Error loading Punkt: <urlopen error [SSL:
 [nltk_data]     CERTIFICATE_VERIFY_FAILED] certificate verify failed
 [nltk_data]     (_ssl.c:590)>
False
4b9b3361

Ответ 1

Загружается файл script. В качестве временного обходного пути можно вручную загрузить токенизатор punkt из здесь, а затем поместите распакованную папку в соответствующее место. Папки по умолчанию для каждой ОС:

  • Windows: C:\nltk_data\tokenizers
  • OSX: /usr/local/share/nltk_data/tokenizers
  • Unix: /usr/share/nltk_data/tokenizers

Ответ 2

TL;DR: вот лучшее решение: https://github.com/gunthercox/ChatterBot/issues/930#issuecomment-322111087

Обратите внимание, что когда вы запускаете nltk.download(), появляется окно, в котором вы можете выбрать, какие пакеты загрузить (загрузка не запускается автоматически сразу).

В дополнение к принятому ответу ниже приведен полный список каталогов, в которых будет производиться поиск на Mac (не ограничиваясь тем, что указан в принятом ответе): - '/Users/YOUR_USERNAME/nltk_data' - '/usr/share/nltk_data' - '/usr/local/share/nltk_data' - '/usr/lib/nltk_data' - '/usr/local/lib/nltk_data' - '/Users/YOUR_USERNAME/YOUR_VIRTUAL_ENV_DIRECTORY/nltk_data' - '/Users/YOUR_USERNAME/YOUR_VIRTUAL_ENV_DIRECTORY/share/nltk_data' - '/Users/YOUR_USERNAME/YOUR_VIRTUAL_ENV_DIRECTORY/lib/nltk_data'

В случае, если ссылка выше умирает, вот решение, вставленное полностью:

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

Запустите приведенный выше код в вашей любимой Python IDE или через командную строку.

Ответ 4

Это работает путем отключения проверки 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()

Ответ 5

Это означает, что вы не используете HTTPS для постоянной работы с другими зависимостями времени выполнения для Python и т.д.

Если вы используете Linux (Ubuntu)

~$ sudo apt-get install ca-certificates

Должно решить проблему.

Если вы используете это в script с файлом докеров, вы должны убедиться, что вы установили модули ca-сертификатов в файл докеров.

Ответ 6

Мое решение:

  • Загрузите punkt.zip здесь и распакуйте
  • Создайте папки nltk_data/tokenizers в домашней папке
  • Поместите папку punkt в папку токенизаторов

Ответ 7

Мое решение после ничего не сработало. Я переместился через графический интерфейс к папке Python 3.7, открыл файл "Certificates.command" в терминале, и проблема с SSL была немедленно решена.

Ответ 8

Существует очень простой способ исправить все это, как написано в официальном отчете об ошибках, для тех, кто недавно сталкивался с этой проблемой (например, 2019) и использует MacOS. Из отчета об ошибке на https://bugs.python.org/issue28150:

... существует простой сценарий, запускаемый двойным щелчком или запускаемый из командной строки ("/Applications/Python 3.6/Install Certificates.command"), который выполняет две функции: 1. использует pip для установки certifi и 2. создает символическую ссылку в каталог OpenSSL, чтобы подтвердить местоположение установленного пакета.

У меня просто работал скрипт "Install Certificates.command" на MacOS (бета-версия 10.15 на момент написания этой статьи), и я был выключен.

Ответ 9

Сначала перейдите к пути /Applications/Python 3.6/и запустите Установите Certificates.command

У вас есть права администратора для этого.

Если вы не можете загрузить его, то, как и другой ответ, вы можете скачать его прямо и поместить. Вы должны поместить их в следующую структуру каталогов.

> nltk_data
          > corpora
                   > brown
                   > conll2000
                   > movie_reviews
                   > wordnet
          > taggers
                   > averaged_perceptron_tagger
          > tokenizers
                      > punkt

Ответ 10

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

Ответ 11

Вам просто нужно установить сертификат, выполнив этот простой шаг

В папке приложения Python дважды щелкните файл "Certificates.command"

.это заставит окно с подсказкой отобразиться на вашем экране и в основном автоматически установит для вас сертификат, закройте это окно и попробуйте снова.