Ubuntu 16.04.3 ici :
Je pense avoir résolu ce problème en supprimant le package python-openssl (et ses dépendances) avec :
apt-get --auto-remove remove python-openssl
Puis installez la dernière version avec pip :
pip install pyOpenSSL
Bien sûr, si vous installez un autre package apt qui en dépend, il le récupérera. J'espère que si vous utilisez désormais pip pour tout ce que vous pouvez au lieu d'apt, tout ira bien.
Edit :depuis janvier 2019, ce problème ne semble plus exister.
Si même pip ne fonctionne pas, essayez ce qui suit :
sudo easy_install -U cffi
sudo easy_install -U cryptography
Cela fonctionne pour moi.
J'ai pu résoudre ce problème en supprimant la bibliothèque python openssl et en la réinstallant (la purge avant l'installation n'a pas fonctionné) :
$ sudo rm -rf /usr/local/lib/python2.7/dist-packages/OpenSSL/
$ sudo apt install --reinstall python-openssl
Pour résoudre ce problème sur RHEL/CentOS :
sudo rm -rf /usr/lib/python2.7/site-packages/OpenSSL/
sudo yum install pyOpenSSL
Cela l'a fait pour moi sur CentOS 7. Santé !