构建分发包
要将您的项目分发给其他人(例如,上传到 PyPI 等索引),您需要将其构建为可分发的格式。
Python 项目通常以源代码分发包(sdists)和二进制分发包(wheels)两种形式分发。前者通常是包含项目源代码以及一些额外元数据的 .tar.gz
或 .zip
文件,而后者是包含可以直接安装的预构建工件的 .whl
文件。
重要
使用 uv build
时,uv 充当 构建前端,仅确定要使用的 Python 版本并调用构建后端。构建的详细信息,例如包含的文件和分发文件名,由构建后端决定,如 [build-system]
中定义的那样。有关构建配置的信息可以在相应工具的文档中找到。
使用 uv build
uv build
可用于为您的项目构建源代码分发包和二进制分发包。默认情况下,uv build
将在当前目录中构建项目,并将构建的工件放置在 dist/
子目录中。
您可以通过为 uv build
提供路径来在不同的目录中构建项目,例如,uv build path/to/project
。
uv build
将首先构建源代码分发包,然后从该源代码分发包构建二进制分发包(wheel)。
您可以使用 uv build --sdist
将 uv build
限制为构建源代码分发包,使用 uv build --wheel
构建二进制分发包,或者使用 uv build --sdist --wheel
从源代码构建两种分发包。
构建约束
uv build
接受 --build-constraint
,可用于在构建过程中约束任何构建要求的版本。与 --require-hashes
结合使用时,uv 将强制用于构建项目的要求与特定的已知哈希匹配,以实现可重现性。
例如,给定以下 constraints.txt
运行以下命令将使用指定版本的 setuptools
构建项目,并验证下载的 setuptools
分发包是否与指定的哈希匹配