我知道总体上为什么如此好:更快的安全修复,更轻松的包装,更多功能。但是,我试图说服一些同事我们不需要将库与程序捆绑在一起。没有该库,它将无法正常工作,但是该库已经稳定了一段时间,并且在可预见的将来仍将保持稳定。我认为没有任何理由不将其拆开。
我可以用什么论据来说服他们?
我的具体情况是:我正在研究SymPy,这是一个用于符号数学的开源Python库。它的核心部分是mpmath,它是用于多预置浮点运算的库。如果没有mpmath,SymPy将无法运行,没有其他选择。因此,它从一开始就与SymPy捆绑在一起(有人告诉我,每次导入新版本时通常都存在一些小的不兼容问题来修复)。还应注意,mpmath的开发人员曾经参与过SymPy开发。现在有一个关于捆绑mpmath的问题,您可以在这里阅读全部内容。
总结那里的讨论:
解除捆绑:
移植到Python 3稍微容易一些(次要参数IMHO)
包装更容易分发
向用户更快(安全)功能更新
“打包和处理依赖关系是棘手的问题,但可以解决。绝对不是我们应该做自己的事情的领域。”
继续捆绑:
安装。在Linux上很容易,在Mac上更难,在Windows上非常难。缺少su访问权限和其他问题。
它是SymPy不可或缺的一部分,即没有它,sympy根本无法工作(根本)
有没有其它的包,可以做mpmath的工作
“当我作为用户下载sympy时,我希望它能正常工作。”
那是我的具体情况,但我会接受一个提供一般性好的答案的答案。