pip assists in creating requirements.txt files by providing the freeze option.
pip freeze --local > requirements.txt
The --local parameter will only output a list of packages and versions that are installed locally to a virtualenv. Global packages will not be listed.