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. -
Respuestas:
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:
a la variable PATH.
fuente
python get-pip.py
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! "
fuente
Los usuarios de Windows deben establecer las siguientes rutas:
..\Anaconda3
..\Anaconda3\scripts
..\Anaconda3\Library\bin
Por usuario:
Todo el sistema (requiere reiniciar) :
fuente
Lo resolví instalando OpenSSL de acuerdo con la siguiente recomendación: https://github.com/conda/conda/issues/8046#issuecomment-450515815
Ticket correspondiente en el repositorio de conda: https://github.com/conda/conda/issues/8046
Actualización: el problema (en PyCharm) debería resolverse en la versión 2019.1 (la compilación de vista previa de acceso anticipado ya está disponible https://www.jetbrains.com/pycharm/nextversion/ ).
fuente
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
fuente
este problema me estaba volviendo loco hasta que encontré esta publicación que decía hacer
(sin usar pycharm, usando sublime)
Error al importar ssl en Python 3.7.4 en macOS 10.14.6
fuente
No tengo Anaconda, así que los pasos que tomé son:
brew uninstall python3
brew install python3
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é.xcode-select --install
tras. 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
brew install python3
y 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.fuente
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.
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. *
fuente
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.
fuente
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 .
fuente
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 :
ssl_verify
opción aFalse
libcrypto
ylibssl
en una ubicación diferente (consulte https://github.com/conda/conda/issues/8273#issue-409800067 )fuente
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 un
activate 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/8487fuente
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 partirAnaconda3\Library\bin to \Anaconda3\DLL
.Una vez que hice, la
pip
instalació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.dll
de\<env folder>\Library\bin
a\<env folder>\DLL
continuación, que funcionaba bien.fuente
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)
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()
fuente
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.
fuente
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"
fuente
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.
fuente
Reinstalar Python según las instrucciones de aquí me resolvió este problema: ¿Cómo puedo instalar una versión anterior de Python 3 en macOS usando homebrew?
fuente
Después de lidiar con el mismo problema en Windows 10, la solución es bastante sencilla:
conda init
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.fuente
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.
fuente
Utilizo este "Win64 OpenSSL v1.1.1h" -> EXE de https://slproweb.com/products/Win32OpenSSL.html
lo he instalado y funciona
fuente