web-dev-qa-db-fra.com

NLTK download SSL: La vérification du certificat a échoué

Je reçois le message d'erreur suivant lorsque j'essaie d'installer Punkt pour 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
12
user3429986

Le script de téléchargement est cassé. En guise de solution de contournement temporaire, vous pouvez télécharger le punkt tokenizer manuellement à partir de ici puis placer le dossier décompressé à l’emplacement correspondant. Les dossiers par défaut pour chaque système d'exploitation sont les suivants:

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

TLDR: Voici une meilleure solution: https://github.com/gunthercox/ChatterBot/issues/930#issuecomment-322111087

Notez que lorsque vous exécutez nltk.download(), une fenêtre s’ouvrira et vous permettra de sélectionner les packages à télécharger (le téléchargement ne démarre pas tout de suite).

Pour compléter la réponse acceptée, voici une liste complète des répertoires qui feront l'objet d'une recherche sur Mac (sans se limiter à celui mentionné dans la réponse acceptée): - '/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'

Si le lien ci-dessus meurt, voici la solution collée dans son intégralité:

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

Exécutez le code ci-dessus dans votre Python préféré IDE ou via la ligne de commande.

6
fstang

Exécutez l'interpréteur Python et tapez les commandes suivantes:

import nltk
nltk.download()

à partir d'ici: http://www.nltk.org/data.html

si vous obtenez une erreur SSL/certificat, exécutez la commande suivante

bash /Applications/Python 3.6/Install Certificates.command

à partir d'ici: ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] échec de la vérification du certificat (_ssl.c: 749)

5
A. Prodan

Cela signifie que vous n'utilisez pas HTTPS pour travailler de manière cohérente avec d'autres dépendances d'exécution pour Python, etc.

Si vous utilisez Linux (Ubuntu)

~$ Sudo apt-get install ca-certificates

Devrait résoudre le problème.

Si vous utilisez cela dans un script avec un fichier docker, vous devez vous assurer que vous avez installé les modules ca-certificates dans votre fichier docker.

1
enkidoo

Ma solution est:

  • Téléchargez punkt.Zip à partir de ici et décompressez
  • Créer des dossiers nltk_data/tokenizers sous le dossier de départ
  • Placez le dossier punkt sous le dossier tokenizers
0
gocen

Ma solution après rien n'a fonctionné. J'ai navigué, via l'interface graphique jusqu'au dossier Python 3.7, j'ai ouvert le fichier 'Certificates.command' dans le terminal et le problème de SSL a été immédiatement résolu. 

0
Cormac O'Keeffe

Tout d'abord, allez dans le répertoire/Applications/Python 3.6/et exécutez Installez Certificates.command

Vous aurez les droits d'administrateur pour la même chose.

Si vous ne pouvez pas le télécharger, alors, comme le suggère une autre réponse, vous pouvez le télécharger directement et le placer. Vous devez les placer dans la structure de répertoires suivante.

> nltk_data
          > corpora
                   > brown
                   > conll2000
                   > movie_reviews
                   > wordnet
          > taggers
                   > averaged_perceptron_tagger
          > tokenizers
                      > punkt
0
Rahul R