rez中的概念
Rez中的概念Rezrez是一个包管理软件,它既可以管理普通的python包,也可以管理软件安装包,又或者可以只是一些简单的安装代码和一些配置文件(我猜这个应该是补丁也可以)。rez允许你自由地调用不同的包合成不同的配置环境,如果需求合理,它会对你给出的关于包的需求进行分析,然后生成对应的环境,否则会报错。
Rez-Version关于版本号大小的比较,看下面这张图差不多能理解了,这里不多赘述。
Rez-Packagesrez中的包是一个版本化的软件,一个包可能会对其他的包有依赖。对包的定义信息都放在包的根目录中的package.py文件中,这些信息让我们知道如何使用这个rez包。在这些信息中,requires部分定义了这个包需要依赖的包,commands()函数里面描述了当包生成环境的时候,环境中会发生一些什么(通常是添加环境变量和PYTHONPATH)
Rez-Package Repositories包仓库是储存在硬盘上的一个目录。在这个目录底下有很多rez包。对于包仓库的结构,一般package.py文件会放到 包仓库>包版本 的目录下,这就是这个rez包的根目录,至于在根目录下的其他文件夹都取决于你构建rez包的那个文件。
Rez-Packages Search Pathrez和python一样,都有自己的搜索路径,python的搜索路径存储在PYTHONPATH中,而rez的搜索路径存储在REZ_PACKAGES_PATH环境变量中。搜索路径第一个通常是在本地的仓库路径,这便于开发人员优先调用正在调试的软件包,而不是已经发布的软件包。
Rez-Package Commands在commands()方法是包用于定义需要配置哪些环境的。典型的是通过
123def commands(): env.PYTHONPATH.append("{root}/python") env.PATH.append("{root}/bin")
对PATH和PYTHONPATH环境变量进行配置。
Rez-Package Requests可以在package.py中定义依赖包,也可以在进行环境配置的时候直接用rez-env使用多个包构建环境。
反操作符! 表示反操作符,当requires中出现这个操作符用于排除不想要的依赖包或者依赖包版本。
1rez-env maya_utils '!maya-2015.6'
弱操作符~操作符表示弱引用,也就是说,用它操作的包在生成环境的时候不一定是必须的,但如果有这个包,就一定要在对应的版本内。
1rez-env foo '~nuke-9.rc2'
隐式包隐式包就是rez每次请求包的时候会自动添加的包,不用额外再在请求的时候添加。隐式包添加在
12345implicit_packages = [ "~platform=={system.platform}", "~arch=={system.arch}", "~os=={system.os}",]
中
支付宝余额宝一万一天收益是多少|如何修改账号昵称