Ich habe Python-Paket mit setup.py
. Es hat regelmäßige Abhängigkeiten, die in deklariert sind, und Entwicklungsabhängigkeiten, die in tests_require
deklariert sind, z.B. flake8
.Wie kann Travis CI Python-Abhängigkeiten installieren, die in tests_require deklariert sind?
Ich dachte, pip install -e .
oder unter python setup.py test
wird auch meine Entwicklungsabhängigkeiten installieren und sie werden verfügbar sein. Aber anscheinend sind sie nicht und ich habe Mühe, meinen Travis CI Build richtig einzurichten.
install:
- "pip install -e ."
script:
- "python setup.py test"
- "flake8"
bauen, wie oben konfiguriert wird fehlschlagen, weil flake8
wird nicht als gültiger Befehl gefunden werden. Ich habe auch versucht, flake8
aus dem python setup.py test
Befehl (über subprocess
), aber auch ohne Erfolg aufzurufen.
Auch ich hasse die Tatsache, dass flake8
kann nicht einfach integraler Bestandteil des Befehls python setup.py test
gemacht werden, aber das ist eine andere Geschichte.
Dies ist wahrscheinlich die beste Lösung bis heute. FWIW, was ich auch in der Wildnis gesehen habe, ist 'extras_require' in' setup.py' zusammen mit 'pip install -e. [Tests]'. Es ist auch einfach, es DRY zu halten und die Testanforderungen als eine separate Liste zu definieren, die sowohl 'extras_require [' tests ']' als auch 'tests_require' zugeordnet ist. (Siehe zum Beispiel meine Bibliothek https://github.com/honzajavorek/fiobank/) –