Python Pip 参考手册 - pip wheel 命令

yufei       5 年, 9 月 前       5919

pip wheel 命令用于根据要求和依赖关系构建 Wheel 存档

Wheel 是一种内置包格式,其优点是在每次安装时不需要重新编译软件,更多关于 Wheel 归档的详细信息,可以访问 https://wheel.readthedocs.io/en/latest/

范例

为某个需求 ( 及其所有依赖项 ) 构建一个 wheel,然后安装

$ pip wheel --wheel-dir=/tmp/wheelhouse SomePackage
$ pip install --no-index --find-links=/tmp/wheelhouse SomePackage

语法

pip wheel 命令的使用语法格式如下

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

pip wheel 使用要求: setuptools>=0.8wheel

pip wheel 使用包 wheel 包提供的 bdist_wheel 这个 setuptools 扩展来构建单个 wheel

构建系统接口

为了可以使用 pip 构建一个 wheel,setup.py 必须提供 bdist_wheel 命令,而该命令的使用语法如下

python setup.py bdist_wheel -d TARGET

上面这条语句必须会创建与当前调用的 Python 解释器兼容的 wheel,并将该 wheel 保存在目录 TARGET

除了 bdist_wheel 外,pip wheel 命令并不会调用其它构建系统命令

自定义构建

可以在调用 setup.py 文件时提供 --global-option 参数用于包含其它的构建命令,这也是目前从命令行影响构建 C 扩展的唯一方法

例如

pip wheel --global-option bdist_ext --global-option -DFOO wheel

会生成一个如下的命令

setup.py bdist_ext -DFOO bdist_wheel -d TARGET

这会传递预处理符号来扩展构建系统

这种对构建系统的高度定制化,相比于支持的构建接口,也会产生更多可能性的意外情况

选项

  • -w, --wheel-dir <dir>

    将构建好的 Wheels 存放到目录 <dir>,默认情况下,使用当前工作目录

  • --no-binary <format_control>

    不使用二进制包

    该选项可以重复添加,每增加一个就会自增当前的值

    可选的值有

    • all :禁用所有二进制包
    • none:清空集合,或者使用逗号之间的一个或多个包名称

    注意,某些软件包编译起来很棘手,并且,即使在添加了此选项后仍然可能无法安装

  • --only-binary <format_control>

    不使用源代码包

    该选项可以重复添加,每增加一个就会自增当前的值

    可选的值有

    • all :禁用所有源代码包
    • none:清空集合,或者使用逗号之间的一个或多个包名称

    注意,没有二进制发行版的软件包在使用此选项时将无法安装

  • --build-option <options>

    可以用于给 setup.py bdist_wheel 添加额外的参数

  • --no-build-isolation

    在构建现代的源代码分发包是禁用隔离

    如果使用了此选项,则必须已安装 PEP518 规定的构建依赖项

  • -c, --constraint <file>

    使用给定的约束文件约束版本,该选项可以重复添加

  • -e, --editable <path/url>

    在可编辑模式下 (例如 setuptools 的 「 开发者模式 」 ) 从本地的项目路径或 VCS URL 中安装一个项目

  • -r, --requirement <file>

    从给定的需求文件中安装,该选项可以重复添加

    按照惯例,需求文件名为 requirements.txt

  • --src <dir>

    用于存放迁出的可编辑项目

    在虚拟环境中,默认的目录为 <venv path>/src, 在全局安装中,默认的目录为 <current dir>/src

  • --ignore-requires-python

    忽略 Requires-Python 信息

  • -b, --build <dir>

    用于存放解压缩的包和构建的包

    请注意,初始构建仍发生在临时目录中

    可以通过适当地设置 TMPDIR 环境变量 ( Windows上的 TEMP ) 来控制临时目录的位置

    注意,如果使用了该参数,当构建发生故障时,并不会清空构建目录

  • --progress-bar <progress_bar>

    用于指定要显示的进度条类型,可选项有 onasciioffprettyemoji,默认为 on

  • --global-option <options>

    bdist_wheel 命令之前提供给 setup.py 调用的额外全局选项

  • --pre

    包含预发布版本和开发版本,默认情况下,只会包行稳定的版本

  • --no-clean

    不要清空构建目录

  • --require-hashes

    对于可重复安装,需要根据哈希值来检查每个需求

    如果需求文件中的任何一项包含了 --hash选项,则隐式包含此选项

  • -i, --index-url <url>

    Python 包索引的基础 URL 地址,默认为 https://pypi.org/simple

    该选项的值应该指向符合 PEP503 ( 简单存储库 API ) 的存储库或以相同格式布局的本地目录

  • --extra-index-url <url>

    除了 --index-url 之外的附加的 Python 包索引 URL,规则和 --index-url 一样

  • --no-index

    忽略包索引,之使用 -find-links 指定的 URL

  • -f, --find-links <url>

    如果提供的 URL 或路径链接到一个 html 文件,则会解析该 html 文件以获取归档

    如果是本地目录,或 file://url 指向的是一个目录,那么就在该目录中查找归档

  • --process-dependency-links

    启用依赖关系链接的处理

目前尚无回复
简单教程 = 简单教程,简单编程
简单教程 是一个关于技术和学习的地方
现在注册
已注册用户请 登入
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.