Hi ng0,
well, you were caught in a pitfall about setup.py vs.
requirements.txt.
requirements.txt files are only for helping to setup a
reproducible environment.The idea is that one dumps her
environment using "pip freeze …" and reinstalls it using "pip
install -r requirements.txt". So requirements.txt only describes
some environment used for building or testing.
The actual requirements specification of a package are defined in
the setup.py.
And in your case, here lays the problem: requests's setup.py
says:[1]:
'socks': [
'PySocks>=1.5.6, !=1.5.7'],
So searchx's requirement "requests[socks]" is not met if
PySocks==1.5.7 is installed.
[1]
<https://github.com/kennethreitz/requests/blob/master/setup.py#L98>
HTH