> Why not everyone?...

Because it is better to use more "abstract" dependencies in `setup.py` and more concrete dependencies in `requirements.txt`. Otherwise many setups must be edited due to cascade of similarly strict dependencies (eventually, in the worsest case), if anyone tries to develop support for a newer version or wants to use a patched library. In your case is your solution acceptable but generally not.