有多少Python包的版本是正确的?
内容提要
作者研究了Python包的版本字符串,发现许多不符合PEP 440标准。他在虚拟环境中编写脚本,通过PyPI API收集了545,018个包的6,057,703个版本字符串。验证后发现0.09%的版本字符串有问题。大多数符合标准,但有些使用非标准后缀或提交哈希。pepver和parver库在某些情况下存在分歧,作者认为parver更准确。总体来说,Python包的版本管理状况良好。
关键要点
-
作者研究了Python包的版本字符串,发现许多不符合PEP 440标准。
-
通过PyPI API收集了545,018个包的6,057,703个版本字符串。
-
验证后发现0.09%的版本字符串有问题,整体状况良好。
-
大多数版本字符串符合标准,但有些使用非标准后缀或提交哈希。
-
pepver和parver库在某些情况下存在分歧,作者认为parver更准确。
-
pepver对某些版本字符串的验证不如parver准确,尤其是关于后缀的使用。
-
尽管存在非标准版本,通常仍能较容易地识别版本顺序。
延伸解读
Python版本管理的健康状况
尽管在545,018个包中仅有0.09%的版本字符串存在问题,但这表明Python生态系统的版本管理整体上是健康的。大多数包遵循PEP 440标准,开发者在使用版本字符串时应继续遵循这一标准,以确保兼容性和可维护性。
pepver与parver的比较
在验证版本字符串时,pepver和parver库的结果存在差异。parver在处理后缀时更为准确,而pepver则对某些非标准字符串的接受度较高。开发者在选择库时应考虑这些差异,以确保版本解析的准确性。
非标准版本的识别
虽然存在一些非标准的版本字符串,但通常仍能较容易地识别版本顺序。开发者在处理这些版本时应保持警惕,了解非标准用法可能带来的潜在问题,尤其是在依赖管理和版本比较时。
延伸问答
Python包的版本字符串为什么会不符合PEP 440标准?
一些版本字符串使用了非标准后缀或提交哈希,导致不符合PEP 440标准。
作者是如何收集Python包的版本字符串的?
作者通过PyPI API查询了545,018个包的6,057,703个版本字符串,并存储在SQLite数据库中。
在作者的研究中,有多少版本字符串被发现有问题?
在6,057,703个版本字符串中,0.09%被发现有问题。
pepver和parver库在版本字符串验证上有什么不同?
pepver对某些版本字符串的验证不如parver准确,尤其是关于后缀的使用。
Python包的版本管理状况如何?
总体来说,Python包的版本管理状况良好,大多数版本字符串符合标准。
如何识别非标准的Python版本字符串?
尽管存在非标准版本,通常仍能较容易地识别版本顺序,因为偏差较小。