setuptools
hat die Unterstützung für diese environment markers verwenden.
install_requires=[
'enum34;python_version<"3.4"',
'pywin32 >= 1.0;platform_system=="Windows"'
]
Die Nutzung ist dies in der official documentation beschrieben. Basiert auf der change log wurde in V20.5 hinzugefügt, aber die Implementierung war nicht stabil bis 20.8.1 (das war nur eine Lücke von 15 Tagen).
Original-Antwort (noch gültig, aber vielleicht in Zukunft weiterentwickelt werden):
setuptools
hat die Unterstützung für diese im
extras_require
Argument.
Das Format ist folgendes:
extras_require={
':python_version=="2.7"': ["mock"],
},
Es wird die anderen Vergleichsoperatoren.
Leider ist es nicht in der documentation erwähnt. Während ich nach Antworten suchte, fand ich PEP-426 über "Umgebungsmarkierungen" sprechen. Mit diesem Satz konnte ich ein setuptools ticket mit folgendem Kommentar finden:
habe ich erfolgreich die Markierungen verfügen, um selektiv und deklarativ eine Abhängigkeit zu erfordern. Ein Beispiel finden Sie in backports.unittest_mock. Durch die "Extras" wird Mock benötigt, aber nur auf Python 2. Wenn ich mich auf Setuptools 17.1 verlassen kann, kann ich diese Abhängigkeit auf python_version < "3.3"
ändern.
Mögliche Duplikat [install \ _requires in setup.py auf installierte Python-Version abhängig] (https://stackoverflow.com/questions/6080646/install-requires-in-setup-py-depending-on- installed-python-version) – ederag