Rework requirements.txt rather than using 'pip freeze'

This reverts commit d3b78a4cfcc164e25380813567c5e6d58a0cded0.
This reverts commit cf21d08a5508264d0804bb1d801b25710a60dfe5.