Python (pip) - RequestsDependencyWarning: urllib3 (1.9.1) or chardet (2.3.0) doesn't match a supported version
Solution 1:
This is because of different requests module installed by the OS and the python dependencies for your local installation.
It can be solved by upgrading requests:
pip install requests
or
pip3 install requests
Solution 2:
Faced similar error when upgraded to urllib3 1.23
. Installation of older version 1.22
resolved this error for me.
Did following to install the older urllib3
version:
pip uninstall urllib3
pip install urllib3==1.22
Solution 3:
You do have a mixed setup (both apt
and pip
were used to install system-wide, which is common), and it indeed doesn't match the supported versions of modules required by requests (and pip v1.5.6 is also quite old).
The requests
(which version? likely leftover from pip install
) requires:
urllib3: 1.21.1 - 1.22
chardet: 3.0.2 - 3.1.0
You have:
urllib3 (1.9.1) from python-urllib3 1.9.1-3 debian package
chardet (2.3.0) from python-chardet 2.3.0-1 debian package
Two options:
either downgrade
requests
to the version from your OS distribution (see what's available withapt show python-requests
), or older versions at pypi.org, oror install newer urllib3 and chardet (you can download the wheel files manually from pipy.org and do
pip install
on them, including any dependencies), either at user level (--user
pip install option) or in a virtualenv.
You can test everything in a virtualenv (apt show python-virtualenv
). It should even deploy a newer pip for you inside of its virtual envs. It is also possible to install a newer pip 10.0.1 at the user-level (--user
) alongside your OS-vendored pip but you need to be careful about that. Good luck!
Solution 4:
The best practice would be to make sure requests and its dependencies are up to date.
Python 2
$ pip install --upgrade requests
Python 3
$ pip3 install --upgrade requests
Solution 5:
I encountered this issue when trying to run docker-compose <some-action>
after a system update.
There are a few reasons that can lead to the error mentioned.
I'll add another solution here, maybe it will help somebody if the other solutions doesn't fit his specific scenario.
The following combination solved the problem for me:
pip uninstall urllib3
pip uninstall chardet
pip install requests