包版本处理库
versions的Python项目详细描述
基本用法
版本比较示例:
>>> fromversionsimportVersion>>> v1=Version.parse('1')>>> v2=Version.parse('2')>>> v1==v2False >>> v1!=v2True >>> v1>v2False >>> v1<v2True >>> v1>=v2False >>> v1<=v2True
Version.parse需要 Semantic Version 2.0字符串和 返回相应的Version对象:
>>> fromversionsimportVersion>>> v=Version.parse('1.2.0-dev+foo.bar')>>> v.major,v.minor,v.patch,v.prerelease,v.build_metadata(1, 2, 0, 'dev', 'foo.bar')
如果它不是语义版本字符串,解析器会尝试将其规范化:
>>> v=Version.parse('1')>>> v.major,v.minor,v.patch,v.prerelease,v.build_metadata(1, 0, 0, None, None)
版本约束匹配
版本还实现版本约束解析和计算:
>>> fromversionsimportConstraint>>> Constraint.parse('>1').match('2')True >>> Constraint.parse('<2').match(Version.parse('1'))True
为了一致性,可以使用in运算符测试约束匹配:
>>> '1.5'inConstraint.parse('<2')True >>> Version(2)inConstraint.parse('!=2')False
可以使用Constraints:
合并约束>>> fromversionsimportConstraints>>> '1.0'inConstraints.parse('>1,<2')False >>> '1.5'inConstraints.parse('>1,<2')True >>> '2.0'inConstraints.parse('>1,<2')False