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
Ответы
Ответ 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 или через командную строку.
Ответ 3
Запустите интерпретатор Python и введите команды:
import nltk
nltk.download()
отсюда: http://www.nltk.org/data.html
если вы получили ошибку SSL/сертификата, выполните следующую команду
bash /Applications/Python 3.6/Install Certificates.command
отсюда: ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] проверка сертификата не удалась (_ssl.c: 749)
Ответ 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"
.это заставит окно с подсказкой отобразиться на вашем экране и в основном автоматически установит для вас сертификат, закройте это окно и попробуйте снова.