web-dev-qa-db-fra.com

Python "l'installation de pip" échoue avec AttributeError: l'objet 'module' n'a pas d'attribut 'SSL_ST_INIT'

$ Sudo pip install --upgrade pyOpenSSL

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 9, in <module>
load_entry_point('pip==8.1.1', 'console_scripts', 'pip')()
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 558, 
in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 
2682, in load_entry_point
return ep.load()
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 
2355, in load
return self.resolve()
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 
2361, in resolve
 module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/local/lib/python2.7/dist-packages/pip-8.1.1-
 py2.7.Egg/pip/__init__.py", line 16, in <module>
from pip.vcs import git, Mercurial, Subversion, Bazaar  # noqa
 File "/usr/local/lib/python2.7/dist-packages/pip-8.1.1-
 py2.7.Egg/pip/vcs/Mercurial.py", line 9, in <module>
from pip.download import path_to_url
File "/usr/local/lib/python2.7/dist-packages/pip-8.1.1-
py2.7.Egg/pip/download.py", line 39, in <module>
from pip._vendor import requests, six
File "/usr/local/lib/python2.7/dist-packages/pip-8.1.1-
py2.7.Egg/pip/_vendor/requests/__init__.py", line 53, in <module>
from .packages.urllib3.contrib import pyopenssl
File "/usr/local/lib/python2.7/dist-packages/pip-8.1.1-
  py2.7.Egg/pip/_vendor/requests/packages/urllib3/contrib/pyopenssl.py", 
line 
54, in <module>
 import OpenSSL.SSL
   File "/usr/lib/python2.7/dist-packages/OpenSSL/__init__.py", line 8, in 
  <module>
    from OpenSSL import Rand, crypto, SSL
    File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 118, in 
<module>
 SSL_ST_INIT = _lib.SSL_ST_INIT
AttributeError: 'module' object has no attribute 'SSL_ST_INIT'

Je ne parviens pas à désinstaller "pip uninstall pyopenssl"

Utilisation de pip me obtient cette erreur.

Merci d'avance.

Détails supplémentaires:

J'utilise

Identifiant du distributeur: Ubuntu Description: Ubuntu 15.10 Publication: 15.10 Nom de code: wily

54
May

J'ai rencontré ce problème aussi. La solution proposée pour exécuter pip ne fonctionne pas car pip est également cassé! J'ai trouvé cela résolu pour moi:

Sudo python -m easy_install --upgrade pyOpenSSL

Cette version installée 17.3.0 qui était une mise à niveau de la version 0.15.1 (stock python-openssl sur xenial). Notez le changement massif dans la version il pourrait être ils ont abandonné le 0. dans les versions ultérieures.

Quoi qu'il en soit, après cela, pip et ansible ont recommencé à fonctionner.

111
delimiter

J'ai fait ce qui suit qui semblait réparer l'erreur, mais je ne savais pas si c'était la bonne manière, mais l'erreur a été corrigée sur ma machine:

J'ai d'abord sauvegardé les répertoires ci-dessous, vous recommande de faire de même.

rm -rf /usr/lib/python2.7/dist-packages/OpenSSL
rm -rf /usr/lib/python2.7/dist-packages/pyOpenSSL-0.15.1.Egg-info
Sudo pip install pyopenssl

Je ne pouvais pas le désinstaller car chaque fois que j'ai lancé pip, j'ai la même erreur que vous: L'objet 'module' n'a pas d'attribut 'SSL_ST_INIT' .

Après ce qui précède, mon pip fonctionne maintenant et, plus important encore, mon ansible fonctionne maintenant (ce qui a été interrompu par mes précédentes mises à jour).

Vous ne savez pas si cela fonctionnera sur votre système, et retirer des éléments hors du groupe, comme je le faisais, est risqué au mieux, alors comme avertissement, je dirais que votre kilométrage peut varier avec mon correctif kludgy, faites preuve de prudence!

97
Severun