Python的pip和easy_install遵循一些规则来按发布号对包进行排序.对beta / release / bugfix版本进行编号的规则是什么,以便这些工具知道哪些是最新的?
解决方法:
对许多人来说,这是一个痛点. setuptools和easy_install有一些相当奇怪的规则,试图与每个人玩得很好.您可以在setuptools的parse_version方法中阅读完整规则,但这里是摘要:
>版本号由点分解为许多段的元组. 4.5.6.7被解析成等于(“4”,“5”,“6”,“7”)的元组.
>短划线或字母数字之间的尾随零被抑制. 2.4.0与2.4相同; 2.4.05与2.4.5相同.
>字母数字部分是低级的. 2.4.a5等于2.4.A5.
>按字母顺序排在“最终”之前的字符串被假定为预发布版本,因此2.4.5b之前,而不是之后,2.4.5.
>最后,“pre”,“preview”和“rc”被视为“c”.单词“dev”被替换为“@”,因此它出现在具有相同版本的任何其他内容之前.也就是说,x.y.z-dev保证会出现在任何其他x.y.z版本之前.
有许多建议可以组织更多的东西,其中最受欢迎的可能是PEP 386.
标签:python,pip,easy-install
来源: https://codeday.me/bug/20190715/1472954.html