This is a tox plugin that preinstalls a specific version of pip in each tox environment.
pip install tox-pip-version
This works around the default behavior of tox/virtualenv that always installs
the latest version pip. It is an improvment over the
option that does not install the latest version, but could result in usage of
an outdated version of pip.
Recommendation: Do not pin the pip version long term. You get more stable repeatable builds, but at the cost of using an outdated (possibly vulnerable) package. This should be used as a temporary fix for breakages in upstream pip, or in conjunction with a regular process to update the version pin.
Install the package and include
pip_version in your tox.ini
[testenv] pip_version = pip==19.0.1
Or, set the
TOX_PIP_VERSION environment variable,
export TOX_PIP_VERSION=18.1 tox
The plugin will install that version of pip into the tox-created virtualenv, just after tox creates the virtualenv, but before dependencies are installed.
pip_version within tox.ini, if present, is always used over the
TOX_PIP_VERSION is present, the plugin does
Version sets/ranges are supported, enabling installation of a version of pip matching a set of specifiers. There are two basic formats: a plain version number, or the package name with optional PEP440-compatible version specifiers.
|tox.ini||effective pip command|
make test to run the tests, which includes linting and functional tests.
Each of the
tests/* directories is a "feature" that needs testing. Each
feature sub-directory contains a tox.ini file that sets pip version in a
particular way, and then uses a tox command to check the correct pip version