web-dev-qa-db-fra.com

Comment tox peut-il installer les modules via le fichier d'exigences?

Notre projet python a un fichier requirements.txt qui répertorie certains modules dépendants. Nous avions l'habitude d'utiliser

pip install -r requirements.txt

pour installer ces dépendances. Nous utilisons maintenant tox pour créer l'environnement de test. Ma question est de savoir comment installer directement les modules via requirements.txt.

Voici nos tox.ini et requirements.txt:

tox.ini:

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

rquirements.txt:

boto

Est-il possible de supprimer le "boto" de tox.ini et d'ajouter quelque chose comme

deps_files=requirements.txt
47
waitingkuo
 deps = -r{toxinidir}/tools/pip-requires
        -r{toxinidir}/tools/test-requires
55
Denis

J'avais déjà configuré mes dépendances comme dans la réponse acceptée ci-dessus, mais aucune nouvelle dépendance n'a été installée comme elles le sont lorsque tox est exécuté pour la première fois. Pour installer de nouvelles dépendances dans virtualenv, j'ai dû forcer tox à recréer l'environnement comme suit:

tox --recreate -e py27

18
jfunk

Ce qui m'a aidé est le suivant (l'autre solution n'a pas fonctionné pour moi):

deps=
    pytest
    -rrequirements.txt

Cela fonctionne au moins si vous ajoutez requirements.txt à MANIFEST.in et si vous utilisez une version relativement nouvelle de `tox (> = 1.6.1) ( voir ici ).

18
Dave Halter

Vous pouvez placer des dépendances et tester des dépendances dans requirements.txt et requirements.testing.txt pour accéder au répertoire racine.

Mettez tox.ini dans votre répertoire racine de votre projet et vous pouvez utiliser l'approche ci-dessous pour installer les dépendances.

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

En plus de mettre à niveau les dépendances

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

3
abdullahselek