VSCode中调用semver.compare报错:AttributeError: module 'semver' has no attribute 'compare'
解决semver模块无compare属性的AttributeError问题
问题描述
运行代码时触发错误:
AttributeError: module 'semver' has no attribute 'compare'
环境信息
- Python版本:Python 3.10.6
- Pip版本:pip 22.3
- semver版本:2.8.1
代码示例
import semver def is_equals(): result = semver.compare('0.0.1', '1.0.0')
原因分析
你使用的semver 2.8.1属于2.x版本,该版本中没有直接挂载在模块下的compare方法,对应的版本比较方法名为cmp,或者需要通过VersionInfo类实现比较。
解决方案
方案1:适配当前2.x版本
修改代码使用semver.cmp函数:
import semver def is_equals(): # 返回-1(前者小)、0(相等)、1(前者大) result = semver.cmp('0.0.1', '1.0.0')
方案2:升级到semver 3.x版本
执行命令升级semver:
pip install --upgrade semver
升级到3.x版本后,你原本的semver.compare写法即可正常使用,无需修改代码。
内容的提问来源于stack exchange,提问作者kernel
相关产品推荐
相关产品推荐

