I have a Kali Linux distrubution which is Kali GNU/Linux Rolling (currently version 2017.3) on amd64. I'm keeping it regularly up to date and have not meddled with system files or the package management. Yet, some time ago python2 and OpenSSL stopped playing together. In the beginning this was simply odd but now it is a major nuisance. E.g. a simple call like this fails:
# pip /usr/lib/python2.7/dist-packages/cffi/model.py:532: UserWarning: 'point_conversion_form_t' has no values explicitly defined; guessing that it is equivalent to 'unsigned int' % self._get_c_name()) Traceback (most recent call last): File "/usr/bin/pip", line 9, in <module> from pip import main File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 21, in <module> from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning File "/usr/lib/python2.7/dist-packages/pip/_vendor/__init__.py", line 64, in <module> vendored("cachecontrol") File "/usr/lib/python2.7/dist-packages/pip/_vendor/__init__.py", line 36, in vendored __import__(modulename, globals(), locals(), level=0) File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/__init__.py", line 9, in <module> File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/wrapper.py", line 1, in <module> File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/adapter.py", line 4, in <module> File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/__init__.py", line 52, in <module> File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/packages/__init__.py", line 59, in <module> File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/packages/__init__.py", line 32, in vendored File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/contrib/pyopenssl.py", line 47, in <module> 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 112, in <module> if _lib.Cryptography_HAS_SSL_ST: AttributeError: 'FFILibrary' object has no attribute 'Cryptography_HAS_SSL_ST'
Sifting thorough various search engine results I found out that this seems to be a known incompatibility problem, but apparently there is no tangible clean solution. What puzzles me is that how can that happen in an actively maintained distro? (In fact, a collegue with the same setup does not have this problem.)
Is there a simple way to repair/fix this without reinstalling the whole distribution?
The installed versions are python/kali-rolling 2.7.14-1, python-openssl/kali-rolling 16.2.0-1 and python-cffi/kali-rolling 1.9.1-2.