AtsortingbuteError: L’object ‘_socketobject’ n’a pas d’atsortingbut ‘set_tlsext_host_name’

En python, sur un serveur Ubuntu, j’essaie de faire en sorte que la bibliothèque de requests fasse des requêtes https, comme ceci:

 import requests requests.post("https://example.com") 

Au début, j’ai eu ce qui suit:

/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: Un véritable object SSLContext n’est pas disponible. Cela empêche urllib3 de configurer le protocole SSL de manière appropriée et peut entraîner l’échec de certaines connexions SSL. Pour plus d’informations, voir https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning .

Après avoir suivi les conseils de cette question: InsecurePlatformWarning: Un véritable object SSLContext n’est pas disponible. Cela empêche urllib3 de configurer le protocole SSL de manière appropriée , j’ai maintenant mis à jour mon avertissement à l’erreur suivante:

AtsortingbuteError: L’object ‘_socketobject’ n’a pas d’atsortingbut ‘set_tlsext_host_name’

Comment puis-je réparer ça?

Le correctif pour moi était le suivant:

 sudo apt-get purge python-openssl sudo pip install pyopenssl 

Cela a permis au python de fonctionner sur Ubuntu 12.04.3 LTS pour moi.

 sudo apt-get install python-dev python-pip build-essential libffi-dev sudo -H pip install --upgrade pip setuptools && sudo -H pip install --upgrade pyopenssl 

Sur RedHat:

 sudo yum remove pyOpenSSL sudo pip install pyopenssl