Инструмент для определения минимально необходимой версии Python?
Вопрос:
Существует ли что-то подобное Pylint, что могло бы анализировать Python-скрипт (или запускать его) и определять, какая версия Python требуется для каждой строки (или функции)?
Описание проблемы:
Я ищу инструмент, который мог бы проверять мои Python-скрипты и указывать, какие версии Python необходимы для их выполнения. Например, мне хотелось бы получить следующий вывод, если бы я использовал такой инструмент:
$ magic_tool <EOF
with something:
pass
EOF
1: 'with' statement requires Python 2.6 or greater
$ magic_tool <EOF
class Something:
@classmethod
def blah(cls):
pass
EOF
2: classmethod requires Python 2.2 or greater
$ magic_tool <EOF
print """Test
"""
EOF
1: Triple-quote requires Python 1.5 or later
Проблема в том, что мне не хватает информации о том, какие именно конструкции Python требует каких версий. Я предполагаю, что наиболее простой способ - это иметь все версии Python на диске, запускать скрипт с каждой версией и наблюдать, какие ошибки возникают. Но есть ли более элегантное решение для этой задачи?
Как изменить порядок столбцов в DataFrame?
'pip' не распознан как командa внутреннего или внешнего формата
Почему statistics.mean() работает так медленно?
Преобразование строки даты JSON в datetime в Python
Есть ли разница между поднятием экземпляра класса Exception и самого класса Exception?