Python Wheel 文件解释 | AI生成和翻译

Home 2025.12

问题:Python 打包中的 .whl (wheel) 文件是什么?

答案:

** .whl** 文件(发音为“wheel”)是 Python 包的标准二进制分发格式,由 PEP 427 引入。它是旧版 .egg 格式的后继者,旨在比从源压缩包(.tar.gz)安装更快、更可靠。

wheel (.whl) 相较于源分发的主要优势

Wheel 文件名约定

典型的 wheel 文件名如下所示:

package_name-version-py3-none-any.whl
# 或
package_name-1.2.3-cp39-cp39-manylinux_2_28_x86_64.whl

标签分解:

常见的 wheel 类型

类型 示例标签 含义
纯 Python py3-none-any 无编译代码,适用于任何地方
平台特定二进制 cp311-cp311-win_amd64 为 Python 3.11 在 64 位 Windows 上构建
manylinux (Linux) manylinux_2_28_x86_64 兼容大多数现代 Linux 发行版
macOS universal/arm macosx_11_0_arm64universal2 Intel 或 Apple Silicon Mac

pip 如何使用 wheels

当你运行 pip install package_name 时:

  1. pip 首先在 PyPI 上查找兼容的 .whl
  2. 如果存在合适的 wheel,它会直接下载并安装(非常快)。
  3. 只有当没有可用的 wheel 时,pip 才会回退到源分发(.tar.gz)并在本地构建它。

构建自己的 wheels

你可以使用以下命令为你的项目创建 wheel:

python -m build    # 推荐 (同时创建 sdist 和 wheel)
# 或旧方式:
python setup.py bdist_wheel   # 已弃用

构建后,wheels 存储在 dist/ 目录中。

简而言之:** .whl 文件是现代、快速的二进制包格式,pip 在可能的情况下会优先使用它们。**

*PEP 427 – Wheel 二进制包格式
*Python Packaging 用户指南 – Wheel


Back

x-ai/grok-4.1-fast

Donate