有两个完全对立的阵营:一个支持系统提供的包,一个支持单独安装。我个人参加了“系统包”训练营。我将从下面的每一方提供论点。在
Pro-system包:系统打包程序已经关心依赖性,以及对整个系统策略的遵从性(如文件布局)。系统包在提供安全更新的同时仍然关心不破坏兼容性,因此它们有时会反向移植上游作者没有备份的安全修复。系统包是“安全”wrt。系统升级:在系统升级之后,您可能还有一个新的Python版本,但是如果您的Python模块来自系统打包程序,那么它们仍然存在。这都是我和Debian的个人经历。在
Con系统包:不是所有的软件都可以作为系统包提供,或者不是最新版本;在系统中安装一些东西可能会破坏系统包。升级可能会破坏应用程序。在
Pro独立安装:一些人(特别是web应用程序开发人员)认为,您绝对需要一个可重复的设置,只需要您想要的包,并且与系统Python完全分离。这不仅仅是自安装软件包还是系统软件包,因为即使是自安装软件包,也可能会修改系统python;如果是单独安装的,则不会修改系统python。正如Lennart所讨论的,现在有专门的工具链来支持这种设置。人们认为只有这种方法才能保证结果的可重复性。在
Con单独安装:您需要自己处理bug修复,并且您需要确保您的所有用户都使用单独的安装。对于web应用程序,后者通常很容易实现。在