导出锁文件
uv 可以将锁文件导出为不同的格式,以便与其他工具和工作流集成。uv export 命令支持多种输出格式,每种格式适用于不同的使用场景。
有关锁文件及其创建方式的更多详细信息,请参阅项目布局和锁定与同步文档。
导出格式概览
uv 支持三种导出格式
requirements.txt:传统的 pip 兼容需求文件格式。pylock.toml:PEP 751 中定义的标准化 Python 锁文件格式。CycloneDX:行业标准的软件物料清单 (SBOM) 格式。
可以使用 --format 标志指定格式
$ uv export --format requirements.txt
$ uv export --format pylock.toml
$ uv export --format cyclonedx1.5
提示
默认情况下,uv export 会输出到标准输出 (stdout)。对于任何格式,均可使用 --output-file 写入到文件中。
requirements.txt 格式
requirements.txt 格式是 Python 依赖项支持最广泛的格式。它可以与 pip 及其他 Python 包管理器一起使用。
基本用法
生成的 requirements.txt 文件随后可以通过 uv pip install 或 pip 等其他工具进行安装。
注意
通常情况下,我们不建议同时使用 uv.lock 和 requirements.txt 文件。uv.lock 格式功能更强大,包含 requirements.txt 无法表达的特性。如果您发现自己需要导出 uv.lock 文件,请考虑提交一个 Issue 来讨论您的使用场景。
pylock.toml 格式
PEP 751 定义了一种基于 TOML 的 Python 依赖锁文件格式。uv 可以将您项目的依赖锁文件导出为此格式。
基本用法
CycloneDX SBOM 格式
uv 可以将您项目的依赖锁文件导出为 CycloneDX 格式的软件物料清单 (SBOM)。SBOM 提供了应用程序中所有软件组件的完整清单,这对于安全审计、合规性及供应链透明度非常有用。
重要
导出为 CycloneDX 的功能处于预览阶段,未来版本可能会有变动。
什么是 CycloneDX?
CycloneDX 是创建软件物料清单的行业标准格式。CycloneDX 可被机器读取,并得到安全扫描工具、漏洞数据库和软件成分分析 (SCA) 平台的广泛支持。
基本用法
要将项目的锁文件导出为 CycloneDX SBOM:
这将生成一个包含您的项目及其所有依赖项的 JSON 编码的 CycloneDX v1.5 文档。
SBOM 结构
生成的 SBOM 遵循 CycloneDX 规范。uv 还在组件中包含了以下自定义属性:
uv:package:marker:环境标记(例如python_version >= "3.8")uv:workspace:path:工作区成员的相对路径
下一步
要了解有关锁文件和导出的更多信息,请参阅锁定与同步文档和命令参考。
或者,继续阅读以了解如何构建并将您的项目发布到包索引。