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.