Wheel 与 Egg

WheelEgg 都是打包格式,旨在支持不需要构建或编译的安装工件的使用情况,这在测试和生产工作流程中可能是昂贵的。

Egg 格式是由 setuptools 在2004年引入的,而 Wheel 格式是由 PEP 427 在 2012 年引入。

Wheel 目前被认为是 构建二进制 打包 Python 的标准。

下面是关于 WheelEgg 之间的重要区别。

  • Wheel 有一个 official PEPEgg 没有。

  • Wheel 是一种 分发 格式,也就是一种打包格式。1 Egg 既是一种发行格式,也是一种运行时的安装格式(如果留下压缩包),并被设计为可导入。

  • Wheel 档案不包括 .pyc 文件。因此,当发行版只包含 Python 文件(即没有编译的扩展),并且与 Python 2 和 3 兼容时,wheel 有可能是 “通用” 的,类似于 sdist

  • Wheel 使用 PEP376-compliant .dist-info 目录。Egg 使用 .egg-info

  • Wheel 有一个 更丰富的文件命名约定。一个单一的 wheel 档案可以表明它与许多 Python 语言版本和工具、ABI 以及系统架构的兼容性。

  • Wheel 是有版本的。每个 wheel 文件都包含 wheel 规范的版本和包装它的工具。

  • Wheel is internally organized by sysconfig path type, therefore making it easier to convert to other formats.


1

在某些情况下,控制盘可以用作可导入的运行时格式,尽管 目前还没有正式支持这一格式