python macos ssl ssl-certificate nltk

python - Error de SSL al descargar datos NLTK



macos ssl-certificate (4)

Estoy tratando de descargar NLTK 3.0 para usar con Python 3.6 en Mac OS X 10.7.5, pero recibo un error SSL:

import nltk nltk.download()

Descargué NLTK con un comando pip3: sudo pip3 install -U nltk .

Cambiar el índice en el descargador de NLTK permite que el descargador muestre todos los archivos de NLTK, pero cuando uno intenta descargar todos, obtiene otro error SSL (vea la parte inferior de la foto):

Soy relativamente nuevo en informática y no soy nada inteligente con respecto a SSL.

Mi pregunta es cómo simplemente resolver este problema.

Aquí hay una pregunta similar de un usuario que tiene el mismo problema:

No se pueden descargar datos nltk

Decidí publicar una nueva pregunta con capturas de pantalla, ya que mi edición de esa otra pregunta fue rechazada.

Preguntas similares que no encontré útiles:

SSL de descarga de NLTK: error de verificación del certificado

error de descarga usando nltk.download ()


En Finder, busque Python 3.6 . Aparecerá en la carpeta de la aplicación. Expande la carpeta Python 3.6 . Luego instale los certificados usando "Instalar certificados.command" .


No necesita deshabilitar la comprobación SSL si ejecuta el siguiente comando de terminal:

/Applications/Python 3.6/Install Certificates.command

En lugar de 3.6 , coloque su versión de Python si es anterior. Entonces debería poder abrir su intérprete de Python (usando el comando python3 ) y ejecutar con éxito nltk.download() allí.

Este es un problema en el que urllib usa una versión incrustada de OpenSSL que no está en el almacén de certificados del sistema. Aquí hay una respuesta con más información sobre lo que está sucediendo.


Para instalar en codestar, la única forma es descargar manualmente los módulos y guardarlos en la carpeta nltk_data, crear un entorno variable lambda NLTK_DATA con valie ./nltk_data.


Por favor, vea la respuesta de @doctorBroctor. Es más correcto y seguro de usar. Dejando la respuesta a continuación, ya que podría ser útil para otra cosa.

https://.com/a/42890688/1167890

Esto funcionará deshabilitando la comprobación 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()