Skip to main content

Use python3 venvs for python3 tox testenvs

Project description

https://travis-ci.org/tox-dev/tox-venv.svg?branch=master https://ci.appveyor.com/api/projects/status/fak35ur9yibmn0ly?svg=true https://codecov.io/gh/tox-dev/tox-venv/branch/master/graph/badge.svg https://img.shields.io/pypi/v/tox-venv.svg https://img.shields.io/pypi/l/tox-venv.svg

What is tox-venv?

tox-venv is a plugin that uses Python 3’s builtin venv module for creating test environments, instead of creating them with the virtualenv package. For Python versions that do not include venv (namely 3.2 and earlier), this package does nothing and reverts to tox’s default implementation.

Why use tox-venv?

virtualenv is historically Python 2/3 compatible, however to achieve this, it ships some files that are pinned at their Python 2.6 version, such as the site module (see: pypa/virtualenv#355). This has a few effects:

  • Builds using the -Werror option fail, as the deprecations are raised before the test suite can run.
  • Users cannot take advantage of newer features of the site module in their test environments.
  • Eventually, these deprecations will become exceptions in future versions of Python.

By using the builtin venv module, these issues can be avoided.

Installation & Usage

To use tox-venv, install it alongside tox in your environment. Then, run tox as normal - no configuration necessary.

$ pip install tox tox-venv
$ tox

If you have already ran tox, it’s necessary to recreate the test envs. Either run tox --recreate, or delete the .tox directory.

Compatibility

tox-venv is compatible with both Python 2 and 3, however it only creates test environments in Python 3.3 and later. Python 3.3 environments are only partially compatible, as not all options (such as --copies/--symlinks) were supported. Environments for Python 3.4 and later are fully compatible.

Release process

  • Update changelog
  • Update package version in setup.py
  • Create git tag for version
  • Upload release to PyPI
$ pip install -U setuptools wheel
$ rm -rf dist/ build/
$ python setup.py bdist_wheel upload

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
tox_venv-0.3.1-py2.py3-none-any.whl (4.4 kB) Copy SHA256 hash SHA256 Wheel 3.6

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page