Esiste qualcosa di simile a Pylint, che guarderà uno script Python (o lo eseguirà) e determinerà quale versione di Python richiede ogni riga (o funzione)?Strumento per determinare quale versione minima di Python è richiesta?
Per esempio, l'utilizzo teorico:
$ 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
è possibile una cosa del genere? Suppongo che il modo più semplice sarebbe quella di avere tutte le versioni di Python su disco, eseguire lo script con ognuno e vedere cosa si verifica un errore ..
+1 Questa è una grande domanda. Stavo cercando qualcosa di simile di recente. – Zifre
È certamente possibile. È tuttavia probabile che non sia stato ancora implementato. – lothar
Ottima domanda. Eseguire un progetto di grandi dimensioni in una versione successiva di Python non sarebbe molto definitivo, a meno che non aveste, per esempio, test unitari che hanno magicamente raggiunto una copertura del 100% del codice, quindi uno strumento come questo sarebbe bello avere. –