When parsing the pip report, parsing some requirements could fail, as the packaging library used for the parsing was different from the one used by pip internally.
This makes sure that always the pip internals packaging library is used, which should prevent inconsistencies like that.
pip does allow cycles and they are common in larger dependency trees. Instead of crashing on them, we should allow the user to deal with them.
As a result of this, it can happen that during the installation of individual dependencies, some dep(s) might be missing, which then can be fixed by including them manually or with a `--no-deps`