Hi Scott,
What you are getting is normal for the number of packages we include and the version restrictions on them (some are range restrictions). I did some work to minimize the noise, but it's impossible to remove all warnings without removing some backends. It seems to work OK even with the warnings so I stopped trying.
One helpful and noisy tool is pipdeptree which will give you exactly what you need to trace dependencies. Just ran it on a clean venv populated using requirements.txt and there's just a couple of complaints as below. We've never had a complaint about novaclient and sphinx works as is, so I just let things be.
...Ken
$ pipdeptree
Warning!!! Possibly conflicting dependencies found:
* python-novaclient==2.27.0
- pbr [required: >=1.6,<2.0, installed: 5.11.1]
------------------------------------------------------------------------
Warning!! Cyclic dependencies found:
* sphinxcontrib-serializinghtml => Sphinx => sphinxcontrib-serializinghtml
* sphinx => sphinxcontrib-serializinghtml => Sphinx
------------------------------------------------------------------------
2to3==1.0
<snip long tree>