3 回答
TA贡献1909条经验 获得超7个赞
来自Python Enterprise Application Kit社区:
“鸡蛋对Python就像Jars对Java一样……”
Python鸡蛋是将附加信息与Python项目捆绑在一起的一种方式,它允许在运行时检查和满足项目的依赖关系,并允许项目为其他项目提供插件。有几种包含鸡蛋的二进制格式,但是最常见的是'.egg'zipfile格式,因为它是分发项目的便捷方式。所有格式都支持,包括特定于软件包的数据,项目范围的元数据,C扩展和Python代码。
Python Eggs的主要好处是:
它们启用诸如“轻松安装” Python软件包管理器之类的工具
.egg文件是Python软件包的“零安装”格式;无需构建或安装步骤,只需将它们放在PYTHONPATH或sys.path上并使用它们即可(如果使用C扩展名或数据文件,则可能需要安装运行时)
它们可以包含包元数据,例如它们依赖的其他鸡蛋
它们允许将“命名空间包”(仅包含其他包的包)拆分为单独的分布(例如zope。,twisted。,peak。*)包可以作为单独的鸡蛋分发,这与通常必须始终放在同一包下的普通包不同父目录。这允许将现在庞大的整体软件包作为单独的组件分发。)
它们允许应用程序或库指定所需的库版本,以便您可以在导入twisted.internet之前例如require(“ Twisted-Internet> = 2.0”)。
对于将扩展或插件分发到可扩展的应用程序和框架,它们是一种很好的格式(例如Trac,它从0.9b1开始使用鸡蛋作为插件),因为Egg运行时提供了简单的API来查找鸡蛋并找到它们的广告入口点(类似Eclipse的“扩展点”概念)。
标准化格式还可能带来其他好处,类似于Java的“ jar”格式的好处。
添加回答
举报