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
deps = -r{toxinidir}/tools/pip-requires
-r{toxinidir}/tools/test-requires
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
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 ).
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