Skip to main content

py.test fixture for creating a virtual environment

Project description

pytest-venv is a simple pytest plugin that exposes a venv fixture. The fixture is used to create a new virtual environment which can be used to install packages and run commands inside tests.

Usage

import os

def test_it(venv):
    venv.install('pyramid', upgrade=True)
    subprocess.check_call(
        [os.path.join(venv.bin, 'pserve'), 'development.ini'],
    )

API

The venv fixture is an instance of pytest_venv.VirtualEnvironment(path) which exposes the following API:

path

The path to the virtualenv directory.

bin

The path to the bin / Scripts directory.

python

The path to the python executable in the virtualenv.

create(system_site_packages=False, python=None)

Create a virtualenv. This is called automatically by the venv fixture. If python is None then the virtual environment will be created using the same executable as the active runtime.

install(pkg_name, editable=False, upgrade=False)

Use pip to install a package into the virtualenv. pkg_name may be a path to a package on disk.

get_version(pkg_name)

Returns a pkg_resources.Version object which is sortable and convertable to a string.

0.2 (2016-11-27)

  • Add VirtualEnvironment.get_version for querying versions from installed packages in the virtual environment.
  • Support custom python interpreter paths via VirtualEnvironment.create(python=...).

0.1.1 (2016-11-27)

  • Ensure the virtual environment is started with the same Python executable as the current process.

0.1 (2016-11-27)

  • Initial release.

Project details


Release history Release notifications

This version
History Node

0.2

History Node

0.1.1

History Node

0.1

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
pytest_venv-0.2-py2.py3-none-any.whl (4.9 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Nov 27, 2016
pytest-venv-0.2.tar.gz (6.6 kB) Copy SHA256 hash SHA256 Source None Nov 27, 2016

Supported by

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