3.4.8 导出锁文件
2 分钟阅读
3.4.8 导出锁文件
uv 可以把锁文件导出为不同格式,以便与其他工具和工作流集成。uv export 命令支持多种输出格式,各自适用于不同场景。
关于锁文件及其创建方式的更多细节,请参阅项目结构和锁定与同步文档。
导出格式概览
uv 支持三种导出格式:
requirements.txt:传统的、与 pip 兼容的 requirements 文件格式。pylock.toml:PEP 751 中定义的标准化 Python 锁文件格式。CycloneDX:业界标准的软件物料清单(SBOM)格式。
可以用 --format 标志指定格式:
| |
提示
默认情况下,
uv export输出到 stdout。任何格式都可以用--output-file写入文件:
1 2 3$ 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 包管理器配合使用。
基本用法
| |
生成的 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:工作区成员的相对路径
后续步骤
或者继续阅读,了解如何构建项目并发布到包索引。