87
votes

Requêtes (provoquées par SSLError ("Impossible de se connecter à l'URL HTTPS car le module SSL n'est pas disponible.") Erreur dans le site Web de demande de PyCharm

Utilisation de requêtes dans Python3 Windows via Pycharm et réception d'une erreur de module SSL non disponible

J'ai passé des heures à essayer de comprendre ce qui pouvait en être la cause. J'ai réinstallé Anaconda et je suis complètement bloqué. Lors de l'exécution de ce qui suit

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."))

Je reçois l'erreur

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

Je n'ai aucune idée de ce qui pourrait en être la cause. Comme Anaconda est une installation récente, je suppose que tout serait à jour, donc je ne suis pas sûr si cela indique le mauvais SSL? Je suis un peu nouveau en python, alors merci pour votre patience. -


1 commentaires

Installé ce slproweb.com/download/Win64OpenSSL-1_1_1c.exe à partir d'OpenSSL. J'ai résolu mon problème.


22 Réponses :


0
votes

aller sur le site Web: me donne les informations suivantes de l'outil de développement et regarde les en-têtes. (clic droit -> inspecter. puis ouvrir l'onglet réseau et vérifier les en-têtes)

  • URL de la demande: http://www.msft.com/
  • Méthode de demande: GET
  • Code d'état: 200 OK
  • Adresse distante: 205.178.189.130:80
  • Politique de parrainage: aucun référent lors de la rétrogradation

Nous voyons donc que nous devons effectuer une requête vers HTTP, pas HTTPS.

import requests


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

if __name__ == '__main__':
    Earlybird()


0 commentaires

12
votes

Je l'ai résolu en installant OpenSSL selon la recommandation suivante: https://github.com/conda/conda/issues/8046#issuecomment-450515815

Billet correspondant dans le repo conda: https://github.com/conda/conda/issues/8046

Mise à jour: le problème (dans PyCharm) devrait être résolu dans la version 2019.1 (la version Early Access Preview est déjà disponible https://www.jetbrains.com/pycharm/nextversion/ ).


0 commentaires

2
votes

J'ai eu un problème similaire sur Windows 10 en utilisant Conda et Python 2.7.2

Après avoir essayé de nombreuses solutions, je suis tombé sur cette réponse qui suggérait qu'il y avait un problème avec openssl dans cette version.

Une fois que j'ai rétrogradé python à 3.7.1 (build h33f27b4_4), tout a bien fonctionné.


0 commentaires

104
votes

Je ne sais pas si cela a encore été résolu mais j'obtenais des problèmes similaires avec Anaconda python 3.7.3 et Idle sous Windows 10. Correction du problème en ajoutant:

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

à la variable PATH.


5 commentaires

Bien que je ne sache pas pourquoi nous devons exporter plusieurs chemins, mais cela fonctionne pour moi, merci.


CELA A FONCTIONNÉ POUR MOI! pas "execstack ..." cmd mais celui-ci! l'ajout de chemin / anaconda3 / library / bin a fonctionné pour moi


Vous ne savez pas comment / où devons-nous ajouter ces 3 chemins?


Alex - ajoutez ces éléments à la variable d'environnement PATH (par exemple, voir la réponse Mukesh Methaniya / Neuron ci-dessous)


Où dois-je ajouter ces chemins? J'essaie d'exécuter un code python à partir d'un dossier spécifique en utilisant python get-pip.py



9
votes

J'ai installé les binaires à partir d'ici: https://slproweb.com/products/Win32OpenSSL.html Ce site est mentionné sur le wiki officiel d'OpenSSL. Cela a résolu mon problème


1 commentaires

il y a beaucoup de binaires là-bas, lequel exactement? Ce serait cool de faire un lien exact ou une capture d'écran. J'ai utilisé le premier lien avec le fichier MSI et cela a fonctionné, merci mon ami: slproweb.com/download/Win64OpenSSL_Light-1_1_1b.msi



13
votes

Les utilisateurs Windows doivent définir les chemins ci-dessous:

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

Par utilisateur:

  1. Variable d'environnement ouvert
  2. Cliquez sur Variable utilisateur
  3. Fermez l'invite de commande si elle est déjà ouverte et rouvrez-la

À l'échelle du système (nécessite un redémarrage) :

  1. Variable d'environnement ouvert
  2. Cliquez sur Variable système
  3. Redémarrez Windows

0 commentaires

1
votes

Il n'est pas nécessaire d'ajouter des chemins d'accès à l'environnement si vous utilisez l' invite Anaconda.

Démarrez le changement d'invite Anaconda dans votre répertoire et exécutez votre script ou démarrez votre éditeur à partir de là. Cela garantira que vous êtes dans l'environnement complet d'Anaconda et l'erreur SSL s'arrêtera.

Quelle est la différence entre l'invite de commande et l'invite Anaconda? Voir cette réponse SO pour savoir quelle est la différence entre l'invite de commande et l'invite anaconda .


0 commentaires

0
votes

Remarque: Ce problème a été résolu sur Windows 10 J'étais confronté au même problème avec l'environnement virtuel sur Windows 10. Le problème a été résolu avec l'exécution de CMD en tant qu'administrateur et la création d'un nouvel environnement virtuel.

  • Exécutez cmd en tant qu'administrateur
  • créer un environnement virtuel (virtualenv .venv)
  • activer l'environnement virtuel .venv \ Scripts \ activate
  • Requêtes d'installation Pip

0 commentaires

0
votes

Résolu en faisant ce qui suit dans mes fenêtres 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"


0 commentaires

0
votes

J'utilise VSCode pour éditer et déboguer et la seule solution qui a fonctionné pour moi était d'éditer les variables d'environnement dans Windows .. Apparemment, cela cause des problèmes mais je ne suis pas sûr de ce qu'ils sont.

Exécuter à partir de l'invite Anaconda (comme suggéré par sayth) n'était PAS une option pour moi. Ou peut-être que la suggestion était d'exécuter l'invite anaconda et de démarrer VSCode à partir de l'invite anaconda. Cela ne semble pas être une demande raisonnable.

Cela semble être un problème chronique de longue date sans réponse globale définitive qui fonctionne pour tout le monde.


0 commentaires

0
votes

La réinstallation de python en suivant les instructions d'ici a résolu ce problème pour moi: Comment puis-je installer une version précédente de Python 3 dans macOS en utilisant homebrew?


0 commentaires

5
votes

Je n'ai pas Anaconda, donc les étapes que j'ai suivies sont:

  • brew uninstall python3
  • brew install python3
    • vous Your Xcode (10.2) is too outdated. Please update to Xcode 11.3 (or delete it). Xcode can be updated from the App Store. un message d'erreur indiquant que Your Xcode (10.2) is too outdated. Please update to Xcode 11.3 (or delete it). Xcode can be updated from the App Store. ** Donc, j'ai supprimé Xcode car aucune mise à jour ne s'afficherait, puis je l'ai réinstallé.
    • a exécuté xcode-select --install après. Si vous ne le faites pas ... vous obtiendrez une erreur: The following formula python cannot be installed as binary package and must be built from source. Install the Command Line Tools: xcode-select --install
  • a exécuté brew install python3 et il s'est terminé avec succès.

Utilisé ce script juste pour voir s'il fonctionne

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

Ran le script python3 et python3.7 et la sortie était <Response [200]> au lieu de SSLError.


0 commentaires

1
votes

Après avoir passé quelques heures à parcourir la documentation Anaconda, l'émission de tickets Github et ainsi de suite, j'ai finalement réussi à le faire fonctionner sous Windows 10 64 bits (Anaconda 3.7). La chose qui a fonctionné pour moi était d'installer le fichier binaire Win64 OpenSSL v1.1.1d à partir de https://slproweb.com/download/Win64OpenSSL-1_1_1d.exe .

REMARQUE : la version semble avoir de l'importance! J'ai essayé le 1.1.0L (comme suggéré dans d'autres commentaires et réponses) mais avec cette version, le problème a persisté. Si vous continuez à avoir des problèmes après l'installation de certaines bibliothèques OpenSSL, continuez à essayer jusqu'à ce que vous trouviez la bonne version. Pour Anaconda 3.7 sur Windows 10, il semble que le bon soit le 1.1.1d. Je n'ai pas essayé la version allégée.

Des choses qui n'ont pas fonctionné pour moi:


0 commentaires

27
votes

Je suis sous Windows 10, j'ai eu le problème avec une nouvelle installation fraîche d'Anaconda sur python 3.7.4, ce post sur github a résolu mon problème:

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

Je cite:

"Ma solution de contournement: j'ai copié les fichiers suivants

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

de D: \ Anaconda3 \ Library \ bin à D: \ Anaconda3 \ DLLs.

Et cela fonctionne comme un charme! "


2 commentaires

Mêmes versions de tout pour moi. Windows 10 Miniconda qui avait 3.7.4. Corrigé avec cette solution.


A travaillé pour moi. Merci!



5
votes

Je l'ai affronté le 04/2020. Ce sont les options que j'ai essayées et la dernière solution m'a aidé.

Problème:

Le module Requests fonctionne bien lorsque j'utilise dans Spyder IDE, mais lorsque j'essaie d'exécuter le script dans Windows, il échoue avec une erreur SSL. Cela fonctionne bien pour les requêtes HTTP, mais pour les requêtes HTTPS, j'ai une erreur SSL.

  1. Je suis fatigué avec Veify = True, False, également avec Certs. Même erreur .
  2. Supprimé Certifi - conda remove certifi - n'a pas fonctionné Mise à jour
  3. openssl, certifi - Toujours la même erreur (voir: https://github.com/ContinuumIO/anaconda-issues/issues/494 ) Ajouté
  4. les variables de chemin - Même erreur
  5. Création d'un nouvel environnement dans Anaconda - même erreur

Solution qui l'a corrigé:

Solution de: https://github.com/conda/conda/issues/8273

J'ai copié les fichiers suivants d'Anaconda3 \ Library \ bin vers \ Anaconda3 \ DLL

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


1 commentaires

Cela a fonctionné pour moi aussi! Merci d'avoir suivi toutes les étapes de débogage :)



8
votes

ce problème me rendait fou jusqu'à ce que je trouve ce post qui disait de faire

brew upgrade python3 

(ne pas utiliser pycharm, utiliser sublime)

Erreur lors de l'importation de SSL dans Python 3.7.4 sous macOS 10.14.6


0 commentaires

1
votes

Rencontré la même erreur SSL lors d'une installation pip après une nouvelle installation anaconda. Ce qui a aidé était l'activation de l'environnement de base avant de faire l'installation de pip. Faites une activate base partir de cmd, puis exécutez votre script python. Vous pouvez également essayer 'conda run -n base python script.py' - https://github.com/conda/conda/issues/8487


0 commentaires

1
votes

J'ai eu la même chose sur mon installation de Windows 10.

Anaconda3 n'ouvrirait pas Anaconda Navigator avant d'avoir copié libcrypto-1_1-x64.dll and libssl-1_1-x64.dll d' Anaconda3\Library\bin to \Anaconda3\DLL .

Une fois que j'ai fait cette installation de pip dans l'environnement de base a bien fonctionné mais pas dans un autre environnement que j'ai créé. J'ai dû faire la même chose que ci-dessus dans le nouvel environnement.

Autrement dit, copiez libcrypto-1_1-x64.dll and libssl-1_1-x64.dll de \<env folder>\Library\bin vers \<env folder>\DLL puis cela a bien fonctionné.


0 commentaires

0
votes

Après avoir traité le même problème sous Windows 10, la solution est assez simple:

  1. Ouvrez une invite Anaconda
  2. Exécutez conda init
  3. Fermez et rouvrez tous les interpréteurs Python ouverts (PyCharm, Anaconda Prompt, cmd, etc.) où vous souhaitez exécuter votre code

Exécutez à nouveau votre code et cela devrait fonctionner. J'avais mis à niveau à la fois Anaconda et PyCharm, et j'avais le problème avec toutes les combinaisons de versions jusqu'à ce que je conda init , ce qui ajoute à votre PATH un peu comme la réponse de Paul Stevens . Ne sautez pas le numéro 3 - il est essentiel de redémarrer PyCharm ou tout autre interpréteur.


0 commentaires

0
votes

Ces erreurs se produisent dans VSCode avec Python 3.7.3 mais fonctionnent correctement dans l'éditeur IDLE de Windows 10 avec Python 3.7.0.


0 commentaires

-1
votes

J'utilise ce "Win64 OpenSSL v1.1.1h" -> EXE de https://slproweb.com/products/Win32OpenSSL.html

je l'ai installé et fonctionne


1 commentaires

Bienvenue dans StackOverflow! Cette solution était déjà proposée dans une autre réponse . Veuillez vous assurer que votre solution est nouvelle avant de la publier.



0
votes

Assurez-vous de créer le projet avec l'option d'environnement conda sélectionnée.

Mon problème est résolu en recréant le projet et en sélectionnant "conda" dans les options "Nouvel environnement en utilisant"

voir l'image:

Nouveau paramètre d'environnement


0 commentaires