53 votes

Dépendances optionnelles dans distutils / pip

Lors de l'installation de mon paquetage python, je veux pouvoir indiquer à l'utilisateur les différentes dépendances optionnelles. Idéalement, je voudrais également imprimer un message sur ces exigences optionnelles et sur ce que chacune d'entre elles fait.

Je n'ai encore rien vu dans les docs de pip ou docutils. Ces outils supportent-ils les dépendances optionnelles ?

54voto

Tobu Points 10101

On les appelle les extras, voici comment les utiliser dans votre setup.py .

Le support de base se trouve dans pkg_resources. Vous devez activer la distribution dans votre setup.py . pip les comprendra aussi :

pip install 'package[extras]'

16voto

Oui, comme l'a déclaré @Tobu et expliqué aquí . Dans votre setup.py vous pouvez ajouter une ligne comme celle-ci :

extras_require = {
        'full': ['matplotlib', 'tensorflow', 'numpy', 'tikzplotlib']
    }

J'ai un exemple de cette ligne aquí .

Maintenant vous pouvez soit installer via le paquet PIP basic/vanilla comme pip install package_name ou le paquet avec toutes les dépendances optionnelles comme pip install package_name[full]

package_name est le nom de votre paquet et full c'est parce que nous avons mis "full" dans le extras_require dictionnaire mais cela dépend de ce que vous mettez comme nom.


Si quelqu'un est intéressé par la façon de coder une bibliothèque qui peut fonctionner avec ou sans paquet, je recommande cette réponse

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X