Comment puis-je la force "setup.py d'essai" pour installer les dépendances dans mon virtualenv`?
Dans une croisade pour faire ma demande pip
-installable, je me bats gros combats avec setuptools
et distribute
. Je suppose que mon dépendances sont corrects, c'est à dire l'installation avec pip install myapp
devrait sans doute remplir l'environnement virtuel correctement. Cependant, je tiens à simplifier le développement pendant que j'y suis, donc mon but est de commencer avec un vide virtualenv
et faire setup.py test
(et plus tard setup.py develop
, mais c'est un tout autre combat) le remplir avec toutes les dépendances.
Et maintenant à mon problème: peu importe comment dur j'ai essayer, tout ce que je reçois sont des dépendances installé comme .egg
s dans mon répertoire de projet qui est sous-optimale à tout le moins. J'ai essayé de créer un nouveau setuptools
de commande, qui serait pip
(qui semble fonctionner, même si maladroitement) mais qui ne peut pas sérieusement être la solution (sous-classement et primordial, qui est).
Alors, comment dois-je faire setup.py test
remplir le virtualevn
à la place de mon répertoire de travail?
- Pouvez-vous ajouter de la sortie de votre
python setup.py develop
commande à la question? Lorsque j'exécute que dans un virtualenv, il installe les dépendances à mon virtualenv. - pas
tests_requires
dépendances.
Vous devez vous connecter pour publier un commentaire.
Par sa conception, vous ne pouvez pas faire la
tests_requires
ou lasetup_requires
entrées aller dans l'environnement virtuel. L'idée est de séparer ce qui est nécessaire pour l'exécution de tests/d'installation et de ce qui est requis pour utiliser le package installé. Par exemple, je peut exiger que la "couverture" du module nécessaires pour l'exécution des tests sur mon colis, mais il n'est pas utilisé par tout mon code dans le package. Donc, si je n'ai pas de "couverture" dans mon environnement quand je vais faire des essais, je ne veux pas de "couverture" à s'installer dans l'environnement si mon colis n'a pas besoin.setup.py tests
/ le venv comportement semble surprenant, je comprends que ça ne devrait pas être défaut, mais vous devriez être en mesure de forcer pip pour installer de test_requires... stackoverflow.com/a/15422703/1240268python setup.py test
ne serait pas à installer le deps sur l'actuel venv. Si vous souhaitez exécuter les tests, il serait souhaitable de vous assurer d'avoir tous deps pour exécuter les tests.setup.py test
installe test_requires deps sur stock). De toute façon, nous allons en rond.tests_require
était de forcer l'installation de l'essai dépendances sursetup.py test
mais pas sursetup.py install
Que, au moins pour moi, semble de ce que devrait être le comportement souhaité.Si vous utilisez
setuptools
, vous pouvez spécifier les dépendances des tests à l'aide de latests_require
argument mot-clé pour lasetup
méthode.Lorsque vous exécutez
python setup.py test
, il s'agira de vérifier pournose
et l'installer sur levirtualenv
à l'aide depip
si ce n'est déjà disponible.Noter que cet argument est ignoré si vous utilisez
distribute.core.setup
(ni untest
de commande disponible).tests_require
de paquets dans le projet "du répertoire d'installation", quoi que cela puisse signifier.