web-dev-qa-db-fra.com

Erreur SSL lors du téléchargement des données NLTK

J'essaie de télécharger NLTK 3.0 pour l'utiliser avec Python 3.6 sur Mac OS X 10.7.5, mais j'obtiens une erreur SSL:

import nltk
nltk.download()

enter image description here

J'ai téléchargé NLTK avec une commande pip3: Sudo pip3 install -U nltk.

Changer l'index dans le téléchargeur NLTK permet au téléchargeur d'afficher tous les fichiers de NLTK, mais quand on essaie de tout télécharger, on obtient une autre erreur SSL (voir en bas de la photo):

enter image description here

Je suis relativement nouveau en informatique et ne suis pas du tout averti en ce qui concerne SSL.

Ma question est de savoir comment résoudre simplement ce problème?


Voici une question similaire posée par un utilisateur qui rencontre le même problème:

Impossible de télécharger les données nltk

J'ai décidé de poster une nouvelle question avec des captures d'écran, mon édition de cette autre question ayant été rejetée.

Des questions similaires que je n'ai pas trouvé utiles:

SSL de téléchargement NLTK: échec de la vérification du certificat

erreur de téléchargement en utilisant nltk.download ()

64
GoldenGremlin

Vous n'avez pas besoin de désactiver la vérification SSL si vous exécutez la commande de terminal suivante:

/Applications/Python 3.6/Install Certificates.command

À la place de 3.6, insérez votre version de Python s'il s'agit d'une version antérieure. Vous devriez alors pouvoir ouvrir votre interpréteur Python (à l'aide de la commande python3) et y exécuter avec succès nltk.download().

Il s'agit d'un problème dans lequel urllib utilise une version intégrée d'OpenSSL qui ne figure pas dans le magasin de certificats du système. Voici une réponse avec plus d'informations sur ce qui se passe.

110
doctorBroctor

Veuillez voir la réponse de @doctorBroctor. Il est plus correct et plus sûr d’utiliser. Laisser la réponse ci-dessous car cela pourrait être utile pour autre chose.

https://stackoverflow.com/a/42890688/116789


Cela fonctionnera en désactivant la vérification 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()
79
Simon O'Doherty

Dans le Finder, recherchez Python 3.6. Il apparaîtra sous le dossier de l'application. Développez le dossier Python 3.6. Puis installez les certificats en utilisant "Install Certificates.command".

enter image description here

18
Ashish Tomar

Pour installer uniquement en mode code, téléchargez manuellement les modules et enregistrez-les dans le dossier nltk_data, créez un environnement de variable lambda NLTK_DATA avec la valeur./Nltk_data.

0
bernardo