Ich verwende pip mit virtualenv, um einige Python-Bibliotheken zu verpacken und zu installieren.
Ich würde mir vorstellen, dass das, was ich tue, ein ziemlich häufiges Szenario ist. Ich bin der Betreuer mehrerer Bibliotheken, für die ich die Abhängigkeiten explizit angeben kann. Einige meiner Bibliotheken sind von Bibliotheken von Drittanbietern abhängig, die transitive Abhängigkeiten aufweisen, auf die ich keinen Einfluss habe.
Was ich erreichen möchte, ist, dass eine pip install
meiner Bibliotheken alle Upstream-Abhängigkeiten herunterlädt / installiert. In der Pip-Dokumentation habe ich Probleme damit, ob / wie Anforderungsdateien dies alleine tun können oder ob sie wirklich nur eine Ergänzung zur Verwendung sind install_requires
.
Würde ich install_requires
in all meinen Bibliotheken Abhängigkeiten und Versionsbereiche angeben und dann nur eine Anforderungsdatei verwenden, um einen Konflikt zu lösen und / oder sie für einen Produktionsbuild einzufrieren?
Stellen wir uns vor, ich lebe in einer imaginären Welt (ich weiß, ich weiß) und meine Upstream-Abhängigkeiten sind unkompliziert und garantieren niemals Konflikte oder brechen die Abwärtskompatibilität. Wäre ich gezwungen, überhaupt eine Pip-Anforderungsdatei zu verwenden, oder würde ich pip / setuptools / Distribute einfach alles basierend darauf installieren lassen install_requires
?
Es gibt hier viele ähnliche Fragen, aber ich konnte keine finden, die so grundlegend waren, als ob man die eine oder die andere oder beide harmonisch zusammen verwenden sollte.