Gibt es eine Möglichkeit zu sagen Pip zu überspringen einige setup_requires Abhängigkeiten, wenn nicht benötigt?Bedingte setup_requires Abhängigkeiten in setup.py
In meinem Szenario habe ich pytest-runner als eine Setup-Abhängigkeit deklariert (die zum Ausführen von Tests verwendet wird) in meiner setup.py. Wenn ich versuche, mein Paket zu installieren (zB: pip install my-package.tar.gz), lädt es pytest-runner herunter oder es schlägt fehl, es ist nicht verfügbar (*).
In setup.py ich habe:
...
setup_requires=['pytest-runner', 'flake8']
...
ich setup.py nur sagen möchte nur pytest Starter zu verwenden, wenn Tests ausgeführt werden. Ist das möglich?
Als @deceze vorgeschlagen, wird diese Erklärung arbeiten:
setup_requires=['pytest-runner', 'flake8'] if 'test' in sys.argv else []
Aber ich will nicht Logik hinzufügen, um setup.py.
(*) Die Umgebung ist sehr eingeschränkt, deshalb ist das Herunterladen einer Abhängigkeit ein Hindernis.
Die Angabe als * extra * würde nicht funktionieren, da sie bei der Ausführung von ** python setup.py test ** nicht verfügbar sind und ich sie nicht lokal installieren möchte. Die Überprüfung der Umgebung ist definitiv eine Option, ich hoffe nicht die einzige. –