Rez中文文档11 Bundles

概述

Bundle是一个包含context文件和程序包仓库的目录。

context中的所有包都在存储库中,这使得bundle是可移动和独立的。
通过命令创建一个bundle:

1
2
3
4
5
]$ rez-env foo -o foo.rxt
]$ rez-bundle foo.rxt ./mybundle

# example of running a command from the bundled context
]$ rez-env -i ./mybundle/context.rxt -- foo-tool

通过API创建bundle:

1
2
3
4
5
from rez.bundle_context import bundle_context
from rez.resolved_context import ResolvedContext

c = ResolvedContext(["python-3+", "foo-1.2+<2"])
bundle_context(c, "./mybundle")

结构

一个bundle的层级结构:

1
2
3
4
.../mybundle/
./context.rxt
./packages/
<standard package repo structure>

在rxt文件中包的引用是相对的,这使得bundle可以被重新定位。