Nico Schlömer
Nico Schlömer

Reputation: 58791

Install optional dependencies with tox

I use tox to test a python project with the following basic config (tox.ini):

[tox]
envlist = py3
isolated_build = True

[testenv]
deps =
    pytest
    pytest-cov
commands =
    pytest --cov {envsitepackagesdir}/foobar --cov-report xml --cov-report term

Unfortunately, the package's optional dependencies (as specified in setup.cfg) don't get installed; the corresponding line in raw pip would be

pip install .[all]

How to make tox install all optional dependencies?

Upvotes: 9

Views: 1838

Answers (2)

anthony sottile
anthony sottile

Reputation: 69964

The supported way to do this is to use the extras key in your testenv

for example:

[testenv]
deps = -rrequirements-dev.txt
extras = typed

this will install .[typed] or -e .[typed] if usedevelop = true


disclaimer: I'm one of the tox maintainers

Upvotes: 14

abc
abc

Reputation: 11929

You can change the dependencies of your testenv to

[testenv]
deps = 
    .[all]
    pytest
    pytest-cov

to simulate the behaviour of pip install .[all]

Upvotes: 1

Related Questions