On Tue, Oct 20, 2020 at 03:35:45PM -0400, John Snow wrote: > pipenv is a tool used for managing virtual environments with pinned, > explicit dependencies. It is used for precisely recreating python > virtual environments. > > pipenv uses two files to do this: > > (1) Pipfile, which is similar in purpose and scope to what setup.py > lists. It specifies the requisite minimum to get a functional > environment for using this package. > > (2) Pipfile.lock, which is similar in purpose to `pip freeze > > requirements.txt`. It specifies a canonical virtual environment used for > deployment or testing. This ensures that all users have repeatable > results. > > The primary benefit of using this tool is to ensure repeatable CI > results with a known set of packages. Although I endeavor to support as > many versions as I can, the fluid nature of the Python toolchain often > means tailoring code for fairly specific versions. > > Note that pipenv is *not* required to install or use this module; this is > purely for the sake of repeatable testing by CI or developers. > > Here, a "blank" pipfile is added with no dependencies, but specifies > Python 3.6 for the virtual environment. > > Pipfile will specify our version minimums, while Pipfile.lock specifies > an exact loudout of packages that were known to operate correctly. This > latter file provides the real value for easy setup of container images > and CI environments. > > Signed-off-by: John Snow Reviewed-by: Cleber Rosa