Czy jest coś podobnego do Pylinta, które będzie przeglądać skrypt w języku Python (lub uruchamiać go) i określić, której wersji Pythona każda linia (lub funkcja) wymaga?Narzędzie do określenia wymaganej wersji językowej Pythona?
Na przykład, teoretyczne zużycie:
$ 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 of later
Czy coś takiego jest możliwe? Przypuszczam, że najprostszą metodą byłoby posiadanie wszystkich wersji Pythona na dysku, uruchomienie skryptu z każdym z nich i zobaczenie, jakie błędy występują.
+1 To jest świetne pytanie. Ostatnio czegoś takiego szukałem. – Zifre
Jest to z pewnością możliwe. Jest jednak prawdopodobne, że nie został jeszcze wdrożony. – lothar
Doskonałe pytanie. Uruchomienie dużego projektu w kolejnej wersji Pythona nie byłoby zbyt definitywne, chyba że miałoby miejsce, powiedzmy, testy jednostkowe, które magicznie osiągnęły 100% pokrycia kodu, więc takie narzędzie byłoby miło mieć. –