[Distutils] Parsing requirements, pip has no API ...
msabramo at gmail.com
Mon Feb 16 06:28:53 CET 2015
Agree 100% with dstufft and have long been pointing people to his blog post at caremad.io. Incidentally his post maps closely to (and references) a blog post from the Ruby world about Bundler and Gemfile vs. gemspecs, because this is a general concept that applies to all platforms (not really unique to Python) and this is backed up by the .deb vs. Chef example.
In short, dependencies for building
reusable blocks (libraries/packages) are different than dependencies for building non-reusable apps/systems/environments. The former emphasizes reusability and flexibility and minimal pinning. The latter instead emphasizes repeatability and thus constraining tightly.
I don't think requirements.txt is an anti-pattern. I do feel like things that suck the contents of a requirements.txt into the setup.py (like pbr) are an anti-pattern.
More information about the Distutils-SIG