pip wheel

用法

python -m pip wheel [options] <requirement specifier> ...
python -m pip wheel [options] -r <requirements file> ...
python -m pip wheel [options] [-e] <vcs project url> ...
python -m pip wheel [options] [-e] <local project path> ...
python -m pip wheel [options] <archive url/path> ...
py -m pip wheel [options] <requirement specifier> ...
py -m pip wheel [options] -r <requirements file> ...
py -m pip wheel [options] [-e] <vcs project url> ...
py -m pip wheel [options] [-e] <local project path> ...
py -m pip wheel [options] <archive url/path> ...

描述

为您的需求和依赖项构建 Wheel 归档文件。

Wheel 是一个构建的包格式,它提供了在每次安装时无需重新编译软件的优势。有关更多详细信息,请参阅 wheel 文档:https://wheel.readthedocs.io/en/latest/

“pip wheel” 使用此处描述的构建系统接口:https://pip.pythonlang.cn/en/stable/reference/build-system/

构建系统接口

现在已涵盖在 构建系统接口 中。

build 的区别

build 是一种简单的工具,它可以做很多事情,包括为使用标准 pyproject.toml 基构建接口的项目构建轮子。它类似于执行 pip wheel --no-deps .。它还可以构建源代码发行版,而 pip 无法做到这一点。 pip wheel 涵盖了 build 的轮子范围,但提供了许多额外的功能。

选项

-w, --wheel-dir <dir>

将轮子构建到 <dir> 中,默认情况下为当前工作目录。

(环境变量:PIP_WHEEL_DIR)

--no-binary <format_control>

不使用二进制包。可以多次提供此选项,每次添加都会增加现有值。接受 “:all:” 来禁用所有二进制包,“:none:” 来清空集合(注意冒号),或者一个或多个用逗号分隔的包名称(没有冒号)。请注意,有些包难以编译,如果对它们使用此选项,则可能无法安装。

(环境变量:PIP_NO_BINARY)

--only-binary <format_control>

不使用源代码包。可以多次提供此选项,每次添加都会增加现有值。接受 “:all:” 来禁用所有源代码包,“:none:” 来清空集合,或者一个或多个用逗号分隔的包名称。没有二进制发行版的包将在使用此选项时无法安装。

(环境变量:PIP_ONLY_BINARY)

--prefer-binary

优先使用二进制包而不是源代码包,即使源代码包更新。

(环境变量:PIP_PREFER_BINARY)

--no-build-isolation

在构建现代源代码发行版时禁用隔离。如果使用此选项,则必须已经安装 PEP 518 指定的构建依赖项。

(环境变量:PIP_NO_BUILD_ISOLATION)

--use-pep517

使用 PEP 517 构建源代码发行版(使用 --no-use-pep517 强制使用旧的运行方式)。

(环境变量:PIP_USE_PEP517)

--check-build-dependencies

使用 PEP517 时检查构建依赖项。

(环境变量:PIP_CHECK_BUILD_DEPENDENCIES)

-c, --constraint <file>

使用给定的约束文件限制版本。此选项可以使用多次。

(环境变量:PIP_CONSTRAINT)

-e, --editable <path/url>

从本地项目路径或 VCS url 以可编辑模式(即 setuptools 的“开发模式”)安装项目。

(环境变量:PIP_EDITABLE)

-r, --requirement <file>

从给定的需求文件中安装。此选项可以使用多次。

(环境变量:PIP_REQUIREMENT)

--src <dir>

检查可编辑项目签出的目录。虚拟环境中的默认值为 “<venv path>/src”。全局安装的默认值为 “<current dir>/src”。

(环境变量:PIP_SRC, PIP_SOURCE, PIP_SOURCE_DIR, PIP_SOURCE_DIRECTORY)

--ignore-requires-python

忽略 Requires-Python 信息。

(环境变量:PIP_IGNORE_REQUIRES_PYTHON)

--no-deps

不安装包依赖项。

(环境变量:PIP_NO_DEPS, PIP_NO_DEPENDENCIES)

--progress-bar <progress_bar>

指定是否应该使用进度条 [on, off, raw] (默认:on)

(环境变量:PIP_PROGRESS_BAR)

--no-verify

不验证构建的轮子是否有效。

(环境变量:PIP_NO_VERIFY)

-C, --config-settings <settings>

要传递给 PEP 517 构建后端的配置设置。设置采用 KEY=VALUE 的形式。使用多个 --config-settings 选项将多个键传递给后端。

(环境变量:PIP_CONFIG_SETTINGS)

--build-option <options>

要提供给“setup.py bdist_wheel” 的额外参数。

(环境变量:PIP_BUILD_OPTION)

--global-option <options>

在执行安装或 bdist_wheel 命令之前,为 setup.py 调用提供的额外全局选项。

(环境变量:PIP_GLOBAL_OPTION)

--pre

包含预发布和开发版本。默认情况下,pip 只查找稳定版本。

(环境变量:PIP_PRE)

--require-hashes

要求使用哈希值来检查每个需求,以便进行可重复的安装。当需求文件中任何包具有 --hash 选项时,该选项将隐式启用。

(环境变量:PIP_REQUIRE_HASHES)

--no-clean

不清理构建目录。

(环境变量:PIP_NO_CLEAN)

-i, --index-url <url>

Python 包索引的基地址(默认值 https://pypi.ac.cn/simple)。此地址应指向符合 PEP 503(简单存储库 API)的存储库或以相同格式布局的本地目录。

(环境变量:PIP_INDEX_URLPIP_PYPI_URL)

--extra-index-url <url>

除了 --index-url 之外,要使用的包索引的额外 URL。应遵循与 --index-url 相同的规则。

(环境变量:PIP_EXTRA_INDEX_URL)

--no-index

忽略包索引(仅查看 --find-links URL)。

(环境变量:PIP_NO_INDEX)

-f, --find-links <url>

如果是一个 URL 或指向 html 文件的路径,则解析链接到存档文件,例如 sdist (.tar.gz) 或 wheel (.whl) 文件。如果是一个本地路径或 file:// URL,并且该 URL 指向一个目录,则在目录列表中查找存档文件。不支持链接到 VCS 项目 URL。

(环境变量:PIP_FIND_LINKS)

示例

  1. 为需求(及其所有依赖项)构建轮子,然后安装

    python -m pip wheel --wheel-dir=/tmp/wheelhouse SomePackage
    python -m pip install --no-index --find-links=/tmp/wheelhouse SomePackage
    
    py -m pip wheel --wheel-dir=/tmp/wheelhouse SomePackage
    py -m pip install --no-index --find-links=/tmp/wheelhouse SomePackage
    
  2. 从源代码构建包的轮子

    python -m pip wheel --no-binary SomePackage SomePackage
    
    py -m pip wheel --no-binary SomePackage SomePackage