Python pip package RequestsDependencyWarning when installing elastic-search-curator

Question:

I installed elastic search curator via the following command.

sudo pip install -U elasticsearch-curator

It all installed OK.

However now when I do the following

curator_cli --version

I get the following dependency warning.

 /usr/local/lib/python2.7/dist-packages/requests/__init__.py:83: RequestsDependencyWarning: Old version of cryptography ([1, 2, 3]) may cause slowdown.
  warnings.warn(warning, RequestsDependencyWarning)
curator_cli, version 5.5.4

How do I either fix the warning or hide it?

Asked By: Robbo_UK

||

Answers:

So took a couple of things for me to get this working.

First I upgraded cyptography as per Mufeeds suggestion

sudo pip install --upgrade cryptography

This then gave me a new error everytime I did pip <any command>

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 7, in <module>
    from pip._internal import main
  File "/usr/local/lib/python2.7/dist-packages/pip/_internal/__init__.py", line 42, in <module>
    from pip._internal import cmdoptions
  File "/usr/local/lib/python2.7/dist-packages/pip/_internal/cmdoptions.py", line 16, in <module>
    from pip._internal.index import (
  File "/usr/local/lib/python2.7/dist-packages/pip/_internal/index.py", line 15, in <module>
    from pip._vendor import html5lib, requests, six
  File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/__init__.py", line 86, in <module>
    from pip._vendor.urllib3.contrib import pyopenssl
  File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/urllib3/contrib/pyopenssl.py", line 46, 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'

Resolved this by resintalling PyOpenSSL

sudo python -m easy_install --upgrade pyOpenSSL

Curator is now working as expected without the warnings

curator_cli --version
> curator_cli, version 5.5.4
Answered By: Robbo_UK

This 1st step below will update cryptography, but break pyopenssl.

sudo pip install --upgrade cryptography

We can fix that by removing the pyopennssl library and use pip to reinstall.

sudo rm -rf /usr/lib/python2.7/dist-packages/OpenSSL
sudo rm -rf /usr/lib/python2.7/dist-packages/pyOpenSSL-0.15.1.egg-info
sudo pip install pyopenssl --upgrade
sudo pip install cryptography --upgrade

The last line will produce an error if the open sll library were to still be broken, so this validates all should be well…

My preference is to avoid another package manage like easy install in the mix, so sharing this in case that is anyone else’s preference as well.

Answered By: openCivilisation