A Better Pip Workflow™

“When developing Python applications today, it’s standard practice to have a requirements.txt file in the root of your repository.

This file can be used in different ways, and typically takes one of these two forms:

  1. A list of top-level dependencies a project has, often without versions specified.
  2. A complete list of all dependencies a project has, each with exact versions specified…”