什么是Python蛋?

我是Python的新手,只是想了解它的包是如何工作的。 据推测,“鸡蛋”是某种包装机制,但简要介绍一下他们扮演什么样的angular色,也许是一些关于他们为什么有用的信息以及如何创造它们?

注意: 鸡蛋包装已经被Wheel包装所取代。

与Java中的.jar文件相同,它是一个.zip文件,其中一些元数据文件被重命名为.egg ,用于将代码分发为捆绑包。

具体而言:Python的内部结构鸡蛋

“Python鸡蛋”是一个逻辑结构,体现了特定版本的Python项目的发布,包括其代码,资源和元数据。 有多种格式可以用来物理编码一个Python的蛋,其他的可以开发。 然而,Python鸡蛋的一个关键原则是它们应该是可发现和可导入的。 也就是说,Python应用程序应该可以轻松高效地找出系统中存在的鸡蛋,并确保所需的鸡蛋内容是可导入的。

.egg格式非常适用于分发和代码的轻松卸载或升级,因为项目基本上是独立于单个目录或文件中的,与其他任何项目的代码或资源混合在一起。 这也使得可以同时安装多个版本的项目,使得单个程序可以select他们希望使用的版本。

.egg文件是Python包的分发格式。 这只是一个源代码分发或Windows exe的替代。 但是请注意,对于纯Python.egg文件是完全跨平台的。

.egg文件本身基本上是一个.zip文件。 如果将扩展名更改为“ zip ”,则可以看到文件夹中将有文件夹。

另外,如果您有.egg文件,则可以使用easy_install将其作为软件包进行安装

例如:要为一个目录创build一个.egg文件,比如mymath ,它本身可能有多个python脚本,请执行以下步骤:

 # setup.py from setuptools import setup, find_packages setup( name = "mymath", version = "0.1", packages = find_packages() ) 

那么,从terminal做到:

  $ python setup.py bdist_egg 

这将产生大量的输出,但是当它完成时,你会看到你有三个新的文件夹: builddistmymath.egg-info 。 我们关心的唯一文件夹是dist文件夹,您可以在其中find.egg文件, mymath-0.1-py3.5.egg和默认的python(安装)版本号(我的这里是3.5)

来源: Python库博客