跳到内容

导出锁文件

uv 可以将锁文件导出为不同的格式,以便与其他工具和工作流集成。uv export 命令支持多种输出格式,每种格式适用于不同的使用场景。

有关锁文件及其创建方式的更多详细信息,请参阅项目布局锁定与同步文档。

导出格式概览

uv 支持三种导出格式

可以使用 --format 标志指定格式

$ uv export --format requirements.txt
$ uv export --format pylock.toml
$ uv export --format cyclonedx1.5

提示

默认情况下,uv export 会输出到标准输出 (stdout)。对于任何格式,均可使用 --output-file 写入到文件中。

$ uv export --format requirements.txt --output-file requirements.txt
$ uv export --format pylock.toml --output-file pylock.toml
$ uv export --format cyclonedx1.5 --output-file sbom.json

requirements.txt 格式

requirements.txt 格式是 Python 依赖项支持最广泛的格式。它可以与 pip 及其他 Python 包管理器一起使用。

基本用法

$ uv export --format requirements.txt

生成的 requirements.txt 文件随后可以通过 uv pip installpip 等其他工具进行安装。

注意

通常情况下,我们不建议同时使用 uv.lockrequirements.txt 文件。uv.lock 格式功能更强大,包含 requirements.txt 无法表达的特性。如果您发现自己需要导出 uv.lock 文件,请考虑提交一个 Issue 来讨论您的使用场景。

pylock.toml 格式

PEP 751 定义了一种基于 TOML 的 Python 依赖锁文件格式。uv 可以将您项目的依赖锁文件导出为此格式。

基本用法

$ uv export --format pylock.toml

CycloneDX SBOM 格式

uv 可以将您项目的依赖锁文件导出为 CycloneDX 格式的软件物料清单 (SBOM)。SBOM 提供了应用程序中所有软件组件的完整清单,这对于安全审计、合规性及供应链透明度非常有用。

重要

导出为 CycloneDX 的功能处于预览阶段,未来版本可能会有变动。

什么是 CycloneDX?

CycloneDX 是创建软件物料清单的行业标准格式。CycloneDX 可被机器读取,并得到安全扫描工具、漏洞数据库和软件成分分析 (SCA) 平台的广泛支持。

基本用法

要将项目的锁文件导出为 CycloneDX SBOM:

$ uv export --format cyclonedx1.5

这将生成一个包含您的项目及其所有依赖项的 JSON 编码的 CycloneDX v1.5 文档。

SBOM 结构

生成的 SBOM 遵循 CycloneDX 规范。uv 还在组件中包含了以下自定义属性:

  • uv:package:marker:环境标记(例如 python_version >= "3.8"
  • uv:workspace:path:工作区成员的相对路径

下一步

要了解有关锁文件和导出的更多信息,请参阅锁定与同步文档和命令参考

或者,继续阅读以了解如何构建并将您的项目发布到包索引