requirements.txt
A text file listing a project's package dependencies, usually pinned to exact versions.
requirements.txt records the packages your project needs, one per line, normally pinned to an exact version like flask==3.0.0. Anyone can recreate your environment with pip install -r requirements.txt and get the same versions you used.
Generate it from your active virtual environment with pip freeze > requirements.txt. Pinning versions is what makes a project reproducible.
flask==3.0.0
requests==2.31.0
python-dotenv==1.0.1
Where this shows up in real Python
requirements.txt lets anyone (including future you) recreate a project’s exact set of packages on a new machine.
Commonly used requirements.txt tools
pip freeze > requirements.txt— record current packagespip install -r requirements.txt— install them allrequests==2.31.0— pin a version for reproducibility
Official documentation: pip Documentation: Requirements File Format