Solicitudes (causadas por SSLError ("No se puede conectar a la URL HTTPS porque el módulo SSL no está disponible"). Error en el sitio web de solicitud de PyCharm

85

Usar solicitudes en Python3 Windows a través de Pycharm y recibir un error de módulo SSL no disponible

Pasé horas tratando de averiguar qué podría estar causando esto. He reinstalado Anaconda y estoy completamente atascado. Al ejecutar lo siguiente

def Earlybird(daycount):
    url = 'https://msft.com'
    response = requests.get(url)
    print(response)
Earlybird()

Recibo el error

requests.exceptions.SSLError: HTTPSConnectionPool(host='msft.com', 
port=443): Max retries exceeded with url: / (Caused by SSLError("Can't 
connect to HTTPS URL because the SSL module is not available."))

No tengo idea de qué podría estar causando esto. Como Anaconda es una instalación reciente, supongo que todo estaría actualizado, por lo que no estoy seguro de si esto apunta a un SSL incorrecto. Soy un poco nuevo en Python, así que gracias por su paciencia. -

Frank Drin
fuente
Instaló este slproweb.com/download/Win64OpenSSL-1_1_1c.exe desde OpenSSL. Resolvió mi problema.
Matej Novosad

Respuestas:

101

No sé si esto se ha resuelto todavía, pero estaba teniendo problemas similares con Anaconda python 3.7.3 e Idle en Windows 10. Se solucionó agregando:

<path>\Anaconda3
<path>\Anaconda3\scripts
<path>\Anaconda3\Library\bin

a la variable PATH.

Paul Stevens
fuente
Aunque no sé por qué tenemos que exportar múltiples rutas, pero a mí me funciona, gracias.
hui chen
1
¡ESTO FUNCIONÓ PARA MÍ! no "execstack ..." cmd sino este! agregar ruta / anaconda3 / biblioteca / bin funcionó para mí
ERJAN
1
¿No estás seguro de entender cómo / dónde tenemos que agregar estas 3 rutas?
Alex Dana
Alex: agregue estos elementos a la variable de entorno PATH (por ejemplo, vea la respuesta de Mukesh Methaniya / Neuron a continuación)
Paul Stevens
¿Dónde tengo que agregar estos caminos? Estoy tratando de ejecutar un código de Python desde una carpeta específica usandopython get-pip.py
Danny Hern
25

Estoy en Windows 10, tuve el problema con una nueva instalación nueva de Anaconda en python 3.7.4, esta publicación en github resolvió mi problema:

(fuente: https://github.com/conda/conda/issues/8273 )

Cito:

"Mi solución: he copiado los siguientes archivos

libcrypto-1_1-x64.*
libssl-1_1-x64.*

desde D: \ Anaconda3 \ Library \ bin a D: \ Anaconda3 \ DLLs.

¡Y funciona de maravilla! "

Matt Dnv
fuente
4
Las mismas versiones de todo para mí. Windows 10 Miniconda que tenía 3.7.4. Arreglado con esta solución.
Kevin Vasko
2
Trabajó para mi. ¡Gracias!
Tim Gottgetreu
13

Los usuarios de Windows deben establecer las siguientes rutas:

  • ..\Anaconda3
  • ..\Anaconda3\scripts
  • ..\Anaconda3\Library\bin

Por usuario:

  1. Variable de entorno abierto
  2. Hacer clic User Variable
  3. Cierre el símbolo del sistema si ya está abierto y vuelva a abrirlo

Todo el sistema (requiere reiniciar) :

  1. Variable de entorno abierto
  2. Hacer clic System Variable
  3. Reiniciar Windows
Mukesh Methaniya
fuente
9

He instalado los binarios desde aquí: https://slproweb.com/products/Win32OpenSSL.html Este sitio se menciona en la wiki oficial de OpenSSL. Resolvió mi problema

Siddhu
fuente
1
hay muchos binarios allí, ¿cuál exactamente? Sería genial hacer un enlace exacto o una captura de pantalla. Usé el
Stepan Yakovenko
5

No tengo Anaconda, así que los pasos que tomé son:

  • brew uninstall python3
  • brew install python3
    • Recibí un mensaje de error que decía: Your Xcode (10.2) is too outdated. Please update to Xcode 11.3 (or delete it). Xcode can be updated from the App Store.** Entonces, eliminé Xcode ya que no se mostraba ninguna actualización, luego lo reinstalé.
    • corrió xcode-select --installtras. Si no lo hace ... obtendrá un error:The following formula python cannot be installed as binary package and must be built from source. Install the Command Line Tools: xcode-select --install
  • se ejecutó brew install python3y se completó con éxito.

Usé este script solo para ver si funciona

import requests
r = requests.get('https://www.office.com')
print(r)

Ejecutó el script python3 y python3.7 y la salida fue en <Response [200]>lugar de SSLError.

codeherk
fuente
5

Lo he enfrentado el 20/04/20. Estas son las opciones que probé y la última solución me ayudó.

Problema:

El módulo de solicitudes funciona bien cuando lo uso en Spyder IDE, pero cuando intento ejecutar el script en Windows, falla con el error SSL. Funciona bien para solicitudes HTTP, pero para solicitudes HTTPS obtuve un error de SSL.

  1. Me cansé con Veify = True, False, también con Certs. Mismo error .
  2. Certifi eliminado - conda remove certifi - No funcionó Actualizado
  3. openssl, certifi - Sigue siendo el mismo error (Consulte: https://github.com/ContinuumIO/anaconda-issues/issues/494 ) Agregado
  4. las variables de ruta - Mismo error
  5. Se creó un nuevo entorno en Anaconda - mismo error

Solución que lo solucionó:

Solución de: https://github.com/conda/conda/issues/8273

He copiado los siguientes archivos de Anaconda3 \ Library \ bin a \ Anaconda3 \ DLL

libcrypto-1_1-x64. * libssl-1_1-x64. *

dhina karan
fuente
¡Esto también funcionó para mí! Gracias por seguir todos los pasos de depuración :)
Lou
2

Tuve un problema similar en Windows 10 usando Conda y Python 2.7.2

Después de probar muchas, muchas soluciones, encontré esta respuesta que sugería que hay un problema con openssl en esa compilación.

Una vez que bajé Python a 3.7.1 (compilación h33f27b4_4), todo funcionó bien.

harryrobbins
fuente
1

No es necesario agregar rutas al entorno si usa el Anaconda Prompt.

Inicie el cambio de indicador de Anaconda a su directorio y ejecute su script o inicie su editor desde allí. Esto asegurará que esté en el entorno completo de Anaconda y el error de SSL se detendrá.

¿Cuál es la diferencia entre el símbolo del sistema y el símbolo de Anaconda? Vea esta respuesta SO a cuál es la diferencia entre el símbolo del sistema y el símbolo de anaconda .

dice
fuente
1

Después de pasar unas horas revisando la documentación de Anaconda, Github emitiendo tickets, etc., finalmente logré que funcionara en Windows 10 de 64 bits (Anaconda 3.7). Lo que funcionó para mí fue instalar el archivo binario Win64 OpenSSL v1.1.1d desde https://slproweb.com/download/Win64OpenSSL-1_1_1d.exe .

NOTA : ¡La versión parece importar! Probé el 1.1.0L (como se sugiere en otros comentarios y respuestas) pero con esta versión, el problema persistió. Si sigue teniendo problemas después de instalar algunas bibliotecas de OpenSSL, siga intentándolo hasta que encuentre la versión correcta. Para Anaconda 3.7 en Windows 10, parece que el correcto es el 1.1.1d. No probé la versión ligera.

Cosas que no me funcionaron :

Pablo R. Mier
fuente
1

Encontré el mismo error de SSL al realizar una instalación de pip después de una nueva instalación de anaconda. Lo que ayudó fue activar el entorno base antes de realizar la instalación de pip. Hacer unactivate base from cmd y luego ejecute su script de Python. También puede probar 'conda run -n base python script.py'Reference - https://github.com/conda/conda/issues/8487

msr
fuente
1

Tuve lo mismo en mi instalación de Windows 10.

Anaconda3 no abriría Anaconda Navigator antes de copiar libcrypto-1_1-x64.dll and libssl-1_1-x64.dll a partir Anaconda3\Library\bin to \Anaconda3\DLL.

Una vez que hice, la pipinstalación en el entorno base funcionó bien, pero no en otro entorno que creé. Tuve que hacer lo mismo que antes en el nuevo entorno.

Es decir, la copia libcrypto-1_1-x64.dll and libssl-1_1-x64.dllde \<env folder>\Library\bina \<env folder>\DLLcontinuación, que funcionaba bien.

CypherCrypt
fuente
0

ir al sitio web: me da la siguiente información de la herramienta de desarrollo y mira los encabezados. (clic derecho -> inspeccionar. luego abra la pestaña de red y verifique los encabezados)

  • URL de solicitud: http://www.msft.com/
  • Método de solicitud: OBTENER
  • Código de estado: 200 OK
  • Dirección remota: 205.178.189.130:80
  • Política de referencias: sin referencia cuando se baja de categoría

Entonces vemos que necesitamos realizar una solicitud a HTTP, no a HTTPS.

import requests


def Earlybird():
    url = 'http://msft.com/'
    response = requests.get(url)
    print(response.text)

if __name__ == '__main__':
    Earlybird()
NemoMeMeliorEst
fuente
0

Nota: Este problema se solucionó en Windows 10. Estaba enfrentando el mismo problema con el entorno virtual en Windows 10. El problema se resolvió ejecutando CMD como administrador y creando un nuevo entorno virtual.

  • Ejecute cmd como administrador
  • crear un entorno virtual (virtualenv .venv)
  • activar entorno virtual .venv \ Scripts \ activar
  • Solicitudes de instalación de pip
Vikas Sharma
fuente
0

Resuelto haciendo lo siguiente en mi Windows 10:

mklink "C:\Users\hal\AppData\Local\Continuum\anaconda3\DLLs\libssl-1_1-x64.dll" "C:\Users\hal\AppData\Local\Continuum\anaconda3\Library\bin\libssl-1_1-x64.dll"

mklink "C:\ProgramData\Anaconda3\DLLs\libcrypto-1_1-x64.dll" "C:\ProgramData\Anaconda3\Library\bin\libcrypto-1_1-x64.dll"
Hassan
fuente
0

Utilizo VSCode para editar y depurar y la única solución que funcionó para mí fue editar las variables de entorno en Windows. Aparentemente, esto causa problemas, pero no estoy seguro de cuáles son.

Ejecutar desde el indicador de Anaconda (como lo sugirió sayth) NO fue una opción para mí. O tal vez la sugerencia fue ejecutar el indicador de anaconda y desde el indicador de anaconda iniciar de alguna manera VSCode. No parece una solicitud razonable.

Este parece ser un problema crónico de larga data sin una respuesta global definitiva que funcione para todos.

usuario2556468
fuente
0

Después de lidiar con el mismo problema en Windows 10, la solución es bastante sencilla:

  1. Abrir un indicador de Anaconda
  2. correr conda init
  3. Cierre y vuelva a abrir cualquier intérprete de Python abierto (PyCharm, Anaconda Prompt, cmd, etc.) donde desee ejecutar su código

Ejecute su código nuevamente y debería funcionar. Actualicé tanto Anaconda como PyCharm, y tuve el problema con todas las combinaciones de versiones hasta que ejecuté conda init, lo que se suma a su PATH de manera muy similar a la respuesta de Paul Stevens . No omita el n. ° 3: reiniciar PyCharm o cualquier otro intérprete es clave.

kevinmicke
fuente
0

Este error ocurre en VSCode con Python 3.7.3 pero funciona bien en el editor IDLE en Windows 10 con Python 3.7.0.

ebeb
fuente