版本管理器。有版本要求的模块可以写为`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语法

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
请求响应模式的java JMS   java如何从SeleniumWebDriver中的“Span Type下拉列表”中选择值   java JPA相当于Hibernate的@Generated(GenerationTime.ALWAYS)   java ActiveMQ查询:如何启动   java如何在jsp文件中使用freemarker标记库?   java如何在TabsLayout中用另一个片段替换一个片段的内容?   国际化如何理解Java教程国际化定制资源包加载示例?   XML配置中的java spring log4j无法为日志信息创建文件   oracle11g JDK 6:有没有办法运行一个新的java进程来执行指定类的主方法   java在avro模式中使用“default”   缺陷跟踪我在哪里可以提交关于FOSS Java Sound实施组织的缺陷报告。类路径。冰岛。pulseaudio。Pulseaudiosourcedaline?   编码Java系统。在和系统中。Sun/Oracle和IBM JVM解决方案在读写标准字节数组方面存在差异   java如何将列表项作为查询参数添加到字符串url中?   将自定义库导出到可导入jar文件java