版本管理器。有版本要求的模块可以写为`ModuleName(==|>=|<=)1.2.3`。VerManager的目标是版本控制。
vermanager的Python项目详细描述
经理
简介
版本管理器。有版本要求的模块可以写成ModuleName(==|>=|<=)1.2.3
。VerManager的目标是版本控制。在
功能
使用版本信息
构造模块类Module
可以用一个类似'ModuleName==1.2.3'
的字符串构造,其中1.2.3
是版本,可以选择后跟字母后缀,比较时将忽略它,如后面所述。在
检查版本是否符合要求
一个需求有四种可能的语义。如果没有说明版本要求,则该要求只应包含模块名称。否则模块名后面应该跟一个关系运算符,它可以是==
、>=
和{
如果运算符是==
,则两个版本应该完全相同。在其他情况下,按字母顺序排列的部分将是ingore,即模块aaa==1.2.3.abc
满足aaa>=1.2.3.cde
的要求。在
如果当前版本不能满足要求,经理将尝试找到合适的版本并记录“应更新到…”。如果找不到满足所有需求的版本,那么一定存在冲突的需求。请注意,所有需求都将被记录下来,以便以后进行冲突分析。在
示例
vm=VersionsManager()vm.set_current_modules(['aaa==1.1.2','bbb==0.8.23','ccc=1.1.1','ddd==a.b.c','eee==1.2.4.abc'])print(vm.check_requirements(['aaa>=1.0.9','aaa<=2.0','bbb==0.8.27','ccc==1.1.1','ddd>=a.b.a','eee>=1.2.4.cde','fff==1.2','eee=1','eee==1.2.3']))
打印出来的是
^{pr2}$更新
v0.1.2版
- 将未满足集分为可解集和冲突集。在
- 替换模块名检查方法以支持
-
和_
v0.1.3版
- 删除Python3.8语法
- 项目
标签: