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

什么是Python鸡蛋?

什么是Python鸡蛋?

繁星淼淼 2019-10-14 10:57:44
我是Python的新手,只是想了解它的软件包是如何工作的。大概“蛋”是某种包装机制,但是如何快速概述它们所扮演的角色以及可能有关它们为何有用以及如何创建它们的一些信息呢?
查看完整描述

3 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

Python蛋是将附加信息与Python项目捆绑在一起的一种方式,它允许在运行时检查和满足项目的依赖关系,并允许项目为其他项目提供插件。有几种包含鸡蛋的二进制格式,但是最常见的是'.egg'zipfile格式,因为它是分发项目的便捷方式。所有格式支持包括特定于软件包的数据,项目范围的元数据,C扩展和Python代码。

安装和使用Python egg的最简单方法是使用“简易安装” Python软件包管理器,它将为您查找,下载,构建和安装egg。您要做的就是告诉它您要使用的Python项目的名称(以及版本)。

Python鸡蛋可以与Python 2.3及更高版本一起使用,并且可以使用setuptools软件包进行构建(有关源代码,请参见Python Subversion沙箱;有关当前安装说明,请参见EasyInstall页面)。

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


查看完整回答
反对 回复 2019-10-14
  • 3 回答
  • 0 关注
  • 419 浏览
慕课专栏
更多

添加回答

举报

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