self.info
对象还有一个require
对象。 它是一个字典,其中包含每个需求,所有直接和传递依赖项的必要信息。 例如,self.info.requires["my_other_lib"]
是RequirementInfo
对象。
- 每个要求信息都有以下只读参考字段:
full_name
:完整要求的名称,例如> my_other_lib>full_version
:完整要求的版本,例如1.2full_user
:完全需要的用户,例如my_userfull_channel
:完整要求的频道,例如stablefull_package_id
:完整要求的软件包ID,例如c6d75a…
**
- 以下字段用于package_id() 评估:
name
:默认情况下,与full_name的值相同,例如> my_other_lib。>version
:默认情况下,full_version
的主要版本表示形式。 例如,对于1.2full_version
字段为1.Y,对于1.2.3full_version
字段为1.Y.Z。
user
:默认情况下为None
(不影响程序包ID)。
channel
:默认情况下为None
(不会影响程序包ID)。
package_id
:默认情况下为None
(不影响程序包ID)。
在为模型依赖关系定义包ID时,必须考虑两个因素:
- 遵循我们要求的版本控制模式 (semver?,custom?)。
- 正在构建或重用的库的类型 (共享 (.so,.Dll。Dylib),静态)。