Skip to content
  • John Snow's avatar
    41c1d81c
    python: Add pipenv support · 41c1d81c
    John Snow authored
    
    
    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.cfg
    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 *rock solid*
    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 loadout 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: default avatarJohn Snow <jsnow@redhat.com>
    Reviewed-by: default avatarCleber Rosa <crosa@redhat.com>
    Message-id: 20210527211715.394144-15-jsnow@redhat.com
    Signed-off-by: default avatarJohn Snow <jsnow@redhat.com>
    41c1d81c
    python: Add pipenv support
    John Snow authored
    
    
    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.cfg
    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 *rock solid*
    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 loadout 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: default avatarJohn Snow <jsnow@redhat.com>
    Reviewed-by: default avatarCleber Rosa <crosa@redhat.com>
    Message-id: 20210527211715.394144-15-jsnow@redhat.com
    Signed-off-by: default avatarJohn Snow <jsnow@redhat.com>
Loading