"鸡蛋是python 罐是 java … …"
Python 鸡蛋是信息的捆绑附加包括一个 python 项目,使项目的依赖项是信息的检查和满意在运行时,以及允许项目为其他项目提供的插件的方法。有几种二进制格式,体现了鸡蛋,但最常见是 '.egg' zipfile 的格式,因为它是一个方便的分发项目。所有的格式都支持包括包特定数据、 项目范围内的元数据、 C 的扩展和 Python 代码。
Python 卵的主要优点是:
-
它们使工具,像易安装 Python 包管理器
-
.egg 文件是一个 Python 包 ; 没有生成或安装步骤是必需的只是把它们放在 PYTHONPATH 或 sys.path,并使用它们 (可能需要安装如果 C 的扩展或数据文件使用的运行库) 的"零安装"格式
-
他们可以包括诸如取决于他们的其他蛋包元数据
-
他们允许"命名空间包"(包只是包含其他包) 将拆分为单独的分布 (例如 zope。 、 扭曲。,peak.* 软件包可以作为单独的鸡蛋与正常的包,必须总是放在同一个父目录下不同分发。这允许什么现在是巨大的整体包作为单独的组件的分布式。)
-
他们允许指定一个的库所需的版本的应用程序或库,以便在做一个导入 twisted.internet 之前,您可以如 require("Twisted-Internet>=2.0")。
-
他们是伟大的格式分发扩展或可扩展应用程序和框架 (例如,跟踪的 0.9b1,使用的插件的蛋) 插件,因为蛋运行库提供了简单的 api,以找到鸡蛋和找到他们播发的入口点 (类似于 Eclipse 的"扩展点"概念)。
-
也有可能是来自有一个类似于 Java 的"罐"格式的好处的标准的格式的其他好处。