Last modified: Apr 07, 2025 By Alexander Williams

Install Pytest-xdist in Python Step by Step

Pytest-xdist is a plugin for pytest that enables parallel test execution. It speeds up testing by running tests on multiple CPUs. This guide will help you install and use it.

Prerequisites

Before installing pytest-xdist, ensure you have Python and pytest installed. If not, install them first.

Check Python installation with:


python --version

Check pytest installation with:


pytest --version

If you get a ModuleNotFoundError, refer to our guide on solving ModuleNotFoundError.

Install Pytest-xdist

Use pip to install pytest-xdist. Run this command in your terminal:


pip install pytest-xdist

This will download and install the latest version of pytest-xdist.

Verify Installation

After installation, verify it works by checking pytest plugins:


pytest --version

The output should list pytest-xdist as one of the plugins.

Basic Usage

To run tests in parallel, use the -n flag followed by the number of workers:


pytest -n 4

This will distribute tests across 4 CPUs.

Example Test File

Create a test file named test_example.py:


def test_addition():
    assert 1 + 1 == 2

def test_subtraction():
    assert 3 - 1 == 2

def test_multiplication():
    assert 2 * 2 == 4

Run Tests in Parallel

Execute the tests with 2 workers:


pytest -n 2

The output will show tests running in parallel.

Advanced Options

Pytest-xdist offers additional options:

Use --dist=loadscope to group tests by module:


pytest -n 2 --dist=loadscope

Use --boxed to run each test in a separate process:


pytest -n 2 --boxed

Troubleshooting

If tests fail randomly, they may have shared state. Make tests independent.

If you see import errors, check your Python path or solve ModuleNotFoundError.

Conclusion

Pytest-xdist is a powerful tool for speeding up test execution. By following these steps, you can easily install and use it in your projects.

Remember to write independent tests for reliable parallel execution. Happy testing!