Skip to main content

Select PIP version to use with tox

Project description

This is a tox plugin that preinstalls a specific version of pip in each tox environment.

This works around the default behavior of tox/virtualenv that always installs the latest version pip. It is an improvment over the VIRTUALENV_NO_DOWNLOAD=1 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.

### Usage

Install the package and include pip_version in your tox.ini

`tox [testenv] pip_version = 19.0.1 `

Or, set the TOX_PIP_VERSION environment variable,

`bash export TOX_PIP_VERSION=18.1 tox `

The plugin will install that specific pip into the tox-created virtualenv, just after tox creates the virtualenv, but before dependencies are installed.

The pip_version within tox.ini, if present, is always used over the environment variable.

If neither pip_version or TOX_PIP_VERSION is present, the plugin does nothing.

### Tests

Use 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 was installed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tox-pip-version-0.0.1.tar.gz (2.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page