什么是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
这将产生大量的输出,但是当它完成时,你会看到你有三个新的文件夹: build , dist和mymath.egg-info 。 我们关心的唯一文件夹是dist文件夹,您可以在其中find.egg
文件, mymath-0.1-py3.5.egg
和默认的python(安装)版本号(我的这里是3.5)
来源: Python库博客