Dans certains cas, différents modules implémentent chacun une API commune (dans mon cas, les anciens elementtree
de pure-python, cElementTree
, lxml.etree
et xml.etree
intégré). Je peux écrire le module en utilisant ElementTree
pour essayer chacune de ces options, et prendre la première qui existe selon mon ordre de préférence - mais je ne trouve aucune information sur la spécification selon laquelle une seule d'entre elles doit être installée dans setup.py
. Je veux écrire quelque chose qui ressemble à ceci:setuptools "au moins un de ces" spécifications de dépendance
setup(
...,
install_requires="""
elementtree | cElementTree | lxml
""",
...
)
Est-ce, ou quelque chose comme ça, possible?
Ce problème se produit réellement dans un module tiers open-source que nous utilisons, donc je cherchais une solution pour contribuer en tant que patch, et je voulais éviter l'apparence de honte publique des développeurs du module. Notre autre code dépend de lxml, et s'exécute dans Py26, donc nous avons au moins deux autres implémentations disponibles - mais pas celle appelée 'elementtree'. – dcrosta