ライブラリがすべてのプログラムにバンドルされているのではなく、別々に出荷されるのはなぜですか?
これが一般的に優れている理由はわかっています。より速いセキュリティ修正、より簡単なパッケージ、より多くの機能。ただし、一部の同僚に、ライブラリをプログラムにバンドルする必要がないことを説得しようとしています。このライブラリなしでは動作しませんが、ライブラリはしばらく安定しており、当面はそうです。バンドルを解除しない理由はありません。 それらを説得するためにどのような議論を使用できますか? 私の具体的な状況は次のとおりです。私はSymPyに取り組んでいます。これは、シンボリック数学用のオープンソースのPythonライブラリです。その核となる部分はmpmathです。これは、マルチビジョン浮動小数点演算用のライブラリです。SymPyはmpmathなしでは機能しません。代替手段はありません。そのため、最初からSymPyにバンドルされています(通常、新しいバージョンがインポートされるたびに修正する非互換性はわずかであると言われていました)。また、mpmathの開発者はSymPy開発に関与していたことにも注意してください。mpmathのバンドル解除に関する問題が発生しました。ここですべて読むことができます。 そこでの議論を要約すると: バンドル解除: Python 3への移植がやや簡単(マイナーな議論IMHO) 配布のためのより簡単なパッケージ化 ユーザーへのより高速な(セキュリティ)機能の更新 「依存関係のパッケージ化と処理は難しい問題ですが、解決されています。これは、私たちが独自にすべきことではありません。」 同梱を続ける: インストール。Linuxでは簡単ですが、Macでは難しく、Windowsでは非常に困難です。suアクセスの欠如およびその他の問題。 これはSymPyの不可欠な部分です。つまり、sympyはそれなしでは機能しません(まったく) mpmathの仕事をすることができる他のパッケージはありません 「ユーザーとして、sympyをダウンロードしたとき、それが機能することを期待しています。」 それが私の特定の状況ですが、良い一般的な答えを提供する答えも受け入れます。