3 回答

TA貢獻1821條經(jīng)驗 獲得超6個贊
parse_version()
easy_install
pip
解析了PEP 440定義的項目版本字符串。返回的值將是一個表示版本的對象。這些對象可以相互比較和排序。排序算法是由PEP 440定義的,另外,任何不是有效PEP 440版本的版本都將被認(rèn)為小于任何有效的PEP 440版本,無效版本將繼續(xù)使用原始算法進行排序。
在語義上,這種格式是distutils‘ StrictVersion
和 LooseVersion
類;如果您提供的版本將與 StrictVersion
然后他們會用同樣的方式進行比較。否則,比較更像是一種“更聰明”的 LooseVersion
..可以創(chuàng)建病態(tài)版本編碼方案來欺騙這個解析器,但是在實踐中它們應(yīng)該是非常罕見的。
如果您想確定所選的編號方案按照您認(rèn)為的方式工作,則可以使用 pkg_resources.parse_version()
函數(shù)來比較不同的版本號: >>> from pkg_resources import parse_version>>> parse_version('1.9.a.dev') == parse_version('1.9a0dev')True>>> parse_version('2.1-rc2') < parse_version('2.1')True>>> parse_version('0.6a9dev-r41475') < parse_version('0.6a9')True
from packaging import version version.parse('1.0.3.dev')from pkg_resources import parse_version parse_version('1.0.3.dev')

TA貢獻1852條經(jīng)驗 獲得超7個贊
>>> (2,3,1) < (10,1,1)True>>> (2,3,1) < (10,1,1,1)True>>> (2,3,1,10) < (10,1,1,1)True>>> (10,3,1,10) < (10,1,1,1)False>>> (10,3,1,10) < (10,4,1,1)True
添加回答
舉報