WHL 文件格式

概述

WHL (Wheel) 文件是 Python 轮格式的分发包,旨在简化 Python 包的安装。 它作为一个预先构建的二进制文件,包含所有必要的文件和代数据,易于安装,而无需从源代码编译。

关键特性

  • 预构建的二进制包:通过提供预组合的双重包来简化安装。
  • 平台特标签:确保与特定Python应用程序、ABIs和操作系统兼容性。
  • Metadata Included: 包含包版本和依赖性的一般数据。
  • ZIP Archive 格式:使用 ZIP 压缩来减少文件大小,同时保持易于提取。
  • 标准化命名协议:遵循一致的命名的方案,其中包含包名称、版本、Python标签、ABI标志和平台标记。

技术规格

格式结构

WHL 文件基本上是 ZIP 档案,它们包含所有必要的安装文件以及压缩格式的代数据,以确保使用 WinRAR 或 7-Zip 等标准解压工具有效分配和轻松提取。

核心组件

  • 包装数据:包含包名称、版本号、依赖性以及支持的Python版本等信息。
  • ** 二进制文件**:指定的平台和 ABI 具体的预编双重文件。
  • ** 源代码(可选)**:在某些情况下,可能包括在二进制分配无法实现的平台上。

标准与兼容性

WHL 文件遵守 PEP 427 标准,确保不同 Python 版本和操作系统的兼容性. 它们受到像 pip 和 conda 这样的流行的包管理员广泛支持,使它们成为 Python 包分发的多元化选择。

历史与进化

WHL 格式被引入,以满足 Python 包的更高效和平台特定的二进制分布的需求。 最初作为轮子项目的一部分开发,由于其能够在各种环境中简化安装过程而迅速获得拖动。

与WHL文件合作

打开WHL文件

要打开或查看 WHL 文件,您可以使用任何标准的 ZIP 解压软件,如 WinRAR, 7-Zip,甚至是由您的操作系统提供的内置提取工具。

转换 WHL 文件

转换 WHL 文件不是一个常见的要求,因为它们是用管或类似的包管理器直接安装的。 wheel 可以用来产生不同类型的分销包。

创建WHL文件

WHL 文件通常使用 wheel 这个工具允许您从您的 Python 包的 setup.py 文件中创建轮分布,确保所有必要的代数据和二进制都包含在最终档案中。

常用案例

  • Python 包的分发: 非常适合在不同平台上共享复杂包。
  • 简化安装:通过提供预编的二进制来减少安装复杂性。
  • 跨平台支持:提供与各种操作系统和Python版本的兼容性。
  • 依赖性管理:在安装过程中更容易管理包依賴性。

优点与限制

优点:

  • ** 有效分配**:预建的二进制将减少源编译的需求。
  • 易于安装:简化安装复杂包的过程。
  • 平台特性兼容性:确保与特定 Python 应用程序和 ABI 相容。
  • Metadata Inclusion:提供包依赖和版本的全面数据。

限制:

  • 有限的灵活性:可能不适合二进制分配无法实现的平台。
  • 大小考虑:预编的二进制可以与源分布相比增加文件的大小。

开发人员资源

通过各种API和图书馆支持WHL文件编程,代码示例和实施指南将很快添加。

经常提出的问题

  • ** 如何打开WHL文件?**您可以使用任何标准的 ZIP 解压软件,如 WinRAR, 7-Zip 或由您的操作系统提供的内置提取工具,以打开 WHL 文件。

  • ** 可以将 WHL 文件转换为另一个格式吗?**虽然直接转换并不常见,但您可以使用 wheel 工具从您的 setup.py 文件中生成不同类型的分发包。

  • **WHL文件的名称协议是什么?**典型的 WHL 文件名包括包名称、版本号、Python 标签(例如 cp35)、ABI 標籤(如 abi3)和平台標誌(比如 macosx_10_9_x86_64)。

参考

 中文