Hoe kan tox de modules installeren via het vereistenbestand?

Ons python-project heeft een requirements.txt-bestand met een afhankelijke module. Vroeger gebruikten we

pip install -r requirements.txt

om deze afhankelijkheden te installeren. We gebruiken nu tox om de testomgeving op te bouwen. Mijn vraag is hoe we de modules rechtstreeks via requirements.txt kunnen installeren.

Hieronder volgen onze tox.ini en requirements.txt:

tox.ini:

[tox]
envlist=py27
[testenv]
deps=pytest
     boto
commands=py.test

vereisten.txt:

boto

Is een manier om de “boto” van tox.ini te verwijderen en iets toe te voegen als

deps_files=requirements.txt

Antwoord 1, autoriteit 100%

deps = -r{toxinidir}/tools/pip-requires
        -r{toxinidir}/tools/test-requires

Antwoord 2, autoriteit 47%

Wat me hielp is het volgende (de andere oplossing werkte niet voor mij):

deps=
    pytest
    -rrequirements.txt

Dit werkt tenminste als je requirements.txttoevoegt aan MANIFEST.inen als je een relatief nieuwe `tox (>=1.6.1) versie ( zie hier).


Antwoord 3, autoriteit 35%

Ik had mijn afhankelijkheden al ingesteld zoals in het geaccepteerde antwoord hierboven, maar nieuwe afhankelijkheden werden niet geïnstalleerd zoals ze zijn wanneer tox voor de eerste keer wordt uitgevoerd. Om nieuwe afhankelijkheden in de virtualenv te installeren, moest ik tox dwingen om de omgeving als volgt opnieuw te creëren:

tox --recreate -e py27

[UPDATE: dit probleem zou opgelost moeten zijn in toxv4]


Antwoord 4, autoriteit 15%

Je kunt afhankelijkheden en testafhankelijkheden in requirements.txten requirements.testing.txtplaatsen om naar de hoofdmap te gaan.

Zet tox.iniin uw hoofdmap van uw project en u kunt de onderstaande benadering gebruiken om afhankelijkheden te installeren.

[testenv]
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/requirements.testing.txt

Naast het upgraden van afhankelijkheden

[testenv]
deps = -Ur{toxinidir}/requirements.txt
-Ur{toxinidir}/requirements.testing.txt

Other episodes