Python 中的 Packaging.version.parse 范围的意外结果

Posted

技术标签:

【中文标题】Python 中的 Packaging.version.parse 范围的意外结果【英文标题】:unexpected result with range in packaging.version.parse in Python 【发布时间】:2021-12-25 14:37:22 【问题描述】:

检查版本是否在范围内会给我一个意想不到的结果:

>>> packaging.version.parse('1.2.3') == packaging.version.parse('1.2.*')
False

我希望是真的。 而

>>> packaging.version.parse('1.2.3') > packaging.version.parse('1.2.*')
True

这至少是不直观的,对吧? 这是一个错误还是我错过了什么?

【问题讨论】:

这就是我对 PEP-440 的理解:python.org/dev/peps/pep-0440 我可能是错的。 【参考方案1】:

我不得不使用

packaging.specifiers.SpecifierSet('==1.2.*').contains(packaging.version.Version('1.2.3'))

【讨论】:

以上是关于Python 中的 Packaging.version.parse 范围的意外结果的主要内容,如果未能解决你的问题,请参考以下文章

python [解析python中的nginx访问日志]解析python #log中的nginx访问日志

python中的self

Python学习篇 Python中的变量和数据类型

如何python3中调用python2中的方法

Python学习篇 Python中的集合

python 迭代python中的一小部分中的数字