Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python "pip install " is failing with AttributeError: 'module' object has no attribute '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' 

I am unable to Uninstall " pip uninstall pyopenssl "

Using pip gets me this error.

Thanks in advance.

Additional Details:

I am using

Distributor ID: Ubuntu Description: Ubuntu 15.10 Release: 15.10 Codename: wily

like image 328
May Avatar asked Jul 19 '17 10:07

May


2 Answers

I ran into this issue as well. The solution proposed to run pip doesn't work because pip is broken too! I found this solved it for me:

sudo python -m easy_install --upgrade pyOpenSSL 

This installed version 17.3.0 which was an upgrade to the (stock python-openssl on xenial) version ?0.15.1?. Note the massive change in version it could be they dropped the leading 0. in later versions.

Anyway, after that, pip and ansible started to work again.

like image 117
delimiter Avatar answered Sep 29 '22 03:09

delimiter


I did the following which seemed to fix the error, not sure if it's the correct way, but it did fix the error on my machine:

I first backed up the directories below, recommend you do same.

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 

I couldn't uninstall it because every time I ran pip I got the same error you did: 'module' object has no attribute 'SSL_ST_INIT'.

After the above my pip now works and more importantly my ansible now works (which was broken by my previous updates).

Not sure if it will work on your system, and removing things out of band, like I did, is risky at best, so as a warning, I would say, your mileage may vary with my kludgy fix, use caution!

like image 38
Severun Avatar answered Sep 29 '22 04:09

Severun