The parse_requirements function in PIP now (as of version 20.1) returns a list of ParsedRequirements, where it was previously a list of InstallRequirements. Update our setup.py to work with either one.
This is an internal function of pip, so we shouldn't really be depending on it, the recommended solution seems to be to hard-code the dependency list in setup.py. However, according to a comment on D45211 the requirements.*.txt files are needed for some cloud setups, and this avoids duplicating the dependency list between these files and setup.py.