I just discovered this awesome command:
pip freeze > requirements.txt
Yes, that’s right. pip freeze dumps out all the packages you have installed (with their version!!). So if you have a virtualenv perfectly set up and you want to make a requirements file for your projects, just run that and you’re done. No more forgotten pip packages, no more mismatched versions on new deployments.