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.

Example
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 packages
  • pip install -r requirements.txt — install them all
  • requests==2.31.0 — pin a version for reproducibility

Related terms