Ruff sys-version-info0-eq3 (YTT201)
sys-version-info0-eq3 в Ruff проверяет сравнения на равенство с мажорной версией, возвращаемой через sys.version_info[0] (например, sys.version_info[0] == 3).
Почему это неправильно
Использование sys.version_info[0] == 3 для проверки, что основная версия Python является 3 или больше, не учитывает возможное увеличение номера основной версии (например, до Python 4). Это, скорее всего, непреднамеренно, поскольку код, использующий такое сравнение, предназначен для работы с Python 2, но при этом может выполняться на Python 4.
Вместо этого используйте оператор >=, чтобы проверить, что основная версия Python не меньше 3, что обеспечит корректную работу и при переходе на будущие версии.
Пример ошибки
import sys
if sys.version_info[0] == 3:
...
else:
print("Python 2") # Это будет выведено на Python 4.
Как правильно
import sys
if sys.version_info >= (3,):
...
else:
print("Python 2") # Это не будет выведено на Python 4.