2016-04-29 3 views
1

Je voudrais créer un paquet Python qui installe une dépendance par défaut, sauf si l'utilisateur signale qu'il ne le souhaite pas.Négatif extra_requires en Python setup.py

Exemple:

pip install package[no-django] 

Est-pip actuel et mécanisme setup.py fournissent façon de le faire ou n'a pas besoin d'avoir explicitement extra_requires à chaque fois?

+1

Le plus proche que j'ai trouvé est celui-ci: https://pythonhosted.org/setuptools/setuptools.html#dynamic-discovery-of-services-and-plugins – Rebs

+0

@Rebs: votre lien est cassé, je pense que celui mis à jour est ici http://setuptools.readthedocs.io/en/latest/setuptools.html#dynamic-discovery-of-services-and-plugins pardonnez-moi si je me trompe – cladmi

Répondre

1

Je ne pense pas que ce soit possible. Une façon de contourner est de faire une demande supplémentaire normale ... où

install_require=[ 
    # ... 
    # no django listed here 
], 
extras_require={ 
    'django': ['django'], 
} 

et installer avec package[django] partout où vous avez besoin django installé.

+0

Oui, ce n'est pas possible. –