跳到内容

map-int-version-parsing (RUF048)

作用

检查 map(int, __version__.split(".")) 形式的调用。

为什么这不好?

__version__ 并不总是包含类似整数的元素。

import matplotlib  # `__version__ == "3.9.1.post-1"` in our environment

# ValueError: invalid literal for int() with base 10: 'post1'
tuple(map(int, matplotlib.__version__.split(".")))

另请参阅 版本说明符 | Packaging Spec

示例

tuple(map(int, matplotlib.__version__.split(".")))

建议改为

import packaging.version as version

version.parse(matplotlib.__version__)