rez中的概念
Rez中的概念
Rez
rez是一个包管理软件,它既可以管理普通的python包,也可以管理软件安装包,又或者可以只是一些简单的安装代码和一些配置文件(我猜这个应该是补丁也可以)。
rez允许你自由地调用不同的包合成不同的配置环境,如果需求合理,它会对你给出的关于包的需求进行分析,然后生成对应的环境,否则会报错。
Rez-Version
关于版本号大小的比较,看下面这张图差不多能理解了,这里不多赘述。
Rez-Packages
rez中的包是一个版本化的软件,一个包可能会对其他的包有依赖。对包的定义信息都放在包的根目录中的package.py文件中,这些信息让我们知道如何使用这个rez包。在这些信息中,requires部分定义了这个包需要依赖的包,commands()函数里面描述了当包生成环境的时候,环境中会发生一些什么(通常是添加环境变量和PYTHONPATH)
Rez-Package Repositories
包仓库是储存在硬盘上的一个目录。在这个目录底下有很多rez包。对于包仓库的结构,一般package.py文件会放到 包仓库>包版本 的目录下,这就是这个rez包的根目录,至于在根目录下的其他文件夹都取决于你构建rez包的那个文件。
Rez-Packages Search Path
rez和python一样,都有自己的搜索路径,python的搜索路径存储在PYTHONPATH中,而rez的搜索路径存储在REZ_PACKAGES_PATH环境变量中。搜索路径第一个通常是在本地的仓库路径,这便于开发人员优先调用正在调试的软件包,而不是已经发布的软件包。
Rez-Package Commands
在commands()方法是包用于定义需要配置哪些环境的。典型的是通过
1 | def commands(): |
对PATH和PYTHONPATH环境变量进行配置。
Rez-Package Requests
可以在package.py中定义依赖包,也可以在进行环境配置的时候直接用rez-env使用多个包构建环境。
反操作符
! 表示反操作符,当requires中出现这个操作符用于排除不想要的依赖包或者依赖包版本。
1 | rez-env maya_utils '!maya-2015.6' |
弱操作符
~操作符表示弱引用,也就是说,用它操作的包在生成环境的时候不一定是必须的,但如果有这个包,就一定要在对应的版本内。
1 | rez-env foo '~nuke-9.rc2' |
隐式包
隐式包就是rez每次请求包的时候会自动添加的包,不用额外再在请求的时候添加。隐式包添加在
1 | implicit_packages = [ |
中
- 标题: rez中的概念
- 作者: Arya
- 创建于 : 2024-09-24 00:00:00
- 更新于 : 2024-12-06 13:30:05
- 链接: https://aryagala0.github.io/2024/09/24/REZ/rez基础/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。