为了账号安全,请及时绑定邮箱和手机立即绑定

将python库/应用程序打包为.egg文件有什么优势?

将python库/应用程序打包为.egg文件有什么优势?

沧海一幻觉 2021-03-21 16:20:06
我已经阅读了一些有关.egg文件的信息,并且在我的lib目录中注意到了它们,但是将then作为开发人员使用的优点/缺点是什么?
查看完整描述

3 回答

?
jeck猫

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”格式的好处。


查看完整回答
反对 回复 2021-03-22
  • 3 回答
  • 0 关注
  • 362 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信