Ich weiß, warum dies im Allgemeinen gut ist: schnellere Sicherheitskorrekturen, einfachere Verpackung, mehr Funktionen. Ich versuche jedoch, einige Mitarbeiter davon zu überzeugen, dass wir keine Bibliothek mit unserem Programm bündeln müssen. Ohne diese Bibliothek wird es nicht funktionieren, aber die Bibliothek ist seit einiger Zeit stabil und wird dies auf absehbare Zeit bleiben. Ich sehe keinen Grund, es NICHT zu entbündeln.
Mit welchen Argumenten könnte ich sie überzeugen?
Meine spezielle Situation ist folgende: Ich arbeite an SymPy , einer Open-Source-Python-Bibliothek für symbolische Mathematik. Ein Kernstück davon ist mpmath , eine Bibliothek für Gleitkomma-Arithmetik mit mehreren Präzisionen . SymPy funktioniert nicht ohne mpmath, es gibt keine Alternative. Daher wurde es von Anfang an mit SymPy gebündelt (mir wurde gesagt, dass es normalerweise kleine Inkompatibilitäten gab, die bei jedem Import einer neuen Version behoben werden mussten). Es sollte auch beachtet werden, dass der Entwickler von mpmath früher an der SymPy-Entwicklung beteiligt war. Es gibt jetzt ein Problem bei der Entflechtung von mpmath. Sie können alles hier lesen .
Um die Diskussion dort zusammenzufassen:
Aufschlüsseln:
Etwas einfachere Portierung auf Python 3 (kleines Argument IMHO)
Einfachere Verpackung für Distributionen
Schnellere (Sicherheits-) Funktionsaktualisierungen für Benutzer
"Verpackungs- und Handhabungsabhängigkeiten sind schwierige Probleme, aber sie sind gelöst. Dies ist definitiv kein Bereich, in dem wir unser eigenes Ding machen sollten."
Weiter bündeln:
Installation. Es ist einfach unter Linux, schwieriger auf Mac und sehr schwer unter Windows. Fehlender Zugang und andere Probleme.
Es ist ein integraler Bestandteil von SymPy, dh Sympy funktioniert (überhaupt) nicht ohne SymPy.
Es gibt kein anderes Paket, das die Arbeit von mpmath erledigen kann
"Wenn ich als Benutzer Sympy herunterlade, erwarte ich, dass es einfach funktioniert."
Das ist meine spezifische Situation, aber ich würde eine Antwort akzeptieren, die auch eine gute, allgemeine Antwort liefert.