J'utilise pip avec virtualenv pour empaqueter et installer certaines bibliothèques Python.
J'imagine que ce que je fais est un scénario assez courant. Je suis le responsable de plusieurs bibliothèques pour lesquelles je peux spécifier explicitement les dépendances. Certaines de mes bibliothèques dépendent de bibliothèques tierces qui ont des dépendances transitives sur lesquelles je n'ai aucun contrôle.
Ce que j'essaie de réaliser, c'est que l' pip install
une de mes bibliothèques télécharge / installe toutes ses dépendances en amont. Ce avec quoi je me débat dans la documentation de pip, c'est si / comment les fichiers d'exigences peuvent le faire eux-mêmes ou s'ils ne sont vraiment qu'un complément à l'utilisation install_requires
.
Est-ce que j'utiliserais install_requires
dans toutes mes bibliothèques pour spécifier des dépendances et des plages de versions, puis utiliserais uniquement un fichier d'exigences pour résoudre un conflit et / ou les figer pour une version de production?
Supposons que je vis dans un monde imaginaire (je sais, je sais) et mes dépendances en amont sont simples et garanties de ne jamais entrer en conflit ou rompre la compatibilité descendante. Serais-je obligé d'utiliser un fichier d'exigences pip ou simplement laisser pip / setuptools / distribuer tout installer en fonction install_requires
?
Il y a beaucoup de questions similaires ici, mais je n'ai pas trouvé de questions aussi basiques que de savoir quand utiliser l'une ou l'autre ou les utiliser ensemble harmonieusement.