/tox-pyenv-redux

A tox Python discovery plugin for pyenv–installed interpreters

Primary LanguagePythonMIT LicenseMIT

tox-pyenv-redux

GitHub License PyPI - Python Version PyPI - Version PyPI - Downloads GitHub Repo stars

A tox Python discovery plugin for pyenv–installed interpreters

Compatibility

  • For legacy versions of tox (0.x—3.x), use tox-pyenv-redux 0.x (tox-pyenv-redux < 1). These versions do not rely on virtualenv-pyenv and DO NOT support the pyenv_discovery setting.
  • For the current version of tox (4.x), use tox-pyenv-redux 1.x (tox-pyenv-redux >= 1, < 2). These versions delegate the discovery job to virtualenv-pyenv.

Installation

pip install tox-pyenv-redux

Usage

The plugin is enabled by default and configured to use the default discovery operation mode. To change the mode or disable the plugin, set the pyenv_discovery environment setting to one of the following values:

  • One of the operation modes (e.g., fallback) to use the specific operation mode. pyenv_discovery = fallback is equivalent to export VIRTUALENV_DISCOVERY=pyenv-fallback.
  • default to use the default operation mode. This is the default value. pyenv_discovery = default (or no setting) is equivalent to export VIRTUALENV_DISCOVERY=pyenv.
  • off to disable the plugin. The plugin will not touch the VIRTUALENV_DISCOVERY environment variable, but the virtualenv-pyenv discovery can still be in effect if virtualenv is already configured to use it (via the VIRTUALENV_DISCOVERY environment variable or the discovery config setting).

Examples

  • Set the fallback operation mode via a config file:

    [tox]
    min_version = 4.0
    requires = tox-pyenv-redux
    
    [testenv]
    pyenv_discovery = fallback
    deps = pytest
    commands = pytest {posargs}
  • Disable the plugin via command line arguments:

    tox run -x testenv.pyenv_discovery=off