With this workflow, what purpose does requirements.txt serve? Would the file ever be used directly?
Only thing I can think of is you'd track top-level packages in requirements-to-freeze.txt during development, while your deploy would use requirements.txt to get a deterministic environment.