什么是Python蛋?

我是Python的新手,我只是想了解它的包是如何工作的。假定eggs是某种打包机制,但是如何快速概述它们所扮演的角色,以及关于它们为什么有用以及如何创建它们的一些信息?

327773 次浏览

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

.egg文件本身本质上是一个.zip文件。如果您将扩展名更改为“zip”,您可以看到它将在存档中有文件夹。

此外,如果您有.egg文件,您可以使用easy_install将其作为包安装

< p >的例子: 要为一个目录(例如mymath)创建一个.egg文件,该目录本身可能有几个python脚本,执行以下步骤
# setup.py
from setuptools import setup, find_packages
setup(
name = "mymath",
version = "0.1",
packages = find_packages()
)

然后,从终端做:

 $ python setup.py bdist_egg

这将生成大量输出,但当它完成时,你会看到你有三个新文件夹:构建经销mymath.egg-info。我们唯一关心的文件夹是经销文件夹,在那里你会发现你的.egg文件,mymath-0.1-py3.5.egg与你的默认python(安装)版本号(我这里:3.5)

来源:# EYZ0

“Egg”是用于python相关项目的单文件可导入分发格式。

《Python卵快速指南》注意到“鸡蛋之于python,就像罐子之于Java……” . #

鸡蛋实际上比罐子更丰富;它们包含有趣的元数据,如许可细节、发布依赖项等。

声明:egg是一种废弃的python格式包,使用eggs的工具已不复存在。

egg是一个python包。它是一个压缩文件,包含python源文件和/或编译的库。

格式没有很好地规定它必须包含什么,或者如何为不同版本的python和不同的操作系统制作包,这是它被替换的原因之一。

该格式出现在2004年左右,一直使用到2010年代中期,现在完全被wheelspip install所取代。

通过命令easy_install安装鸡蛋。该命令在setuptools v58.3(2021年)中被移除。你不能再用鸡蛋了。

如果你看到任何东西提到easy_installegg,无论是任何堆栈溢出的答案或教程,它都是严重过时的。

推荐这个更长的回答https://stackoverflow.com/a/68897551/5994461,了解python打包的深入历史。它涉及到pip,车轮,鸡蛋和更多的东西。