¿Hay algo similar a Pylint, que mirará un script de Python (o lo ejecutará), y determinará qué versión de Python requiere cada línea (o función)?¿Herramienta para determinar qué versión más baja de Python requiere?
Por ejemplo, el uso teórico:
$ 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
¿Es posible tal cosa? Supongo que la forma más sencilla sería tener todas las versiones de Python en el disco, ejecute la secuencia de comandos con cada uno y ver lo que se produce un error ..
+1 Esta es una gran pregunta. Estaba buscando algo como esto recientemente. – Zifre
Es ciertamente posible. Sin embargo, es probable que aún no se haya implementado. – lothar
Excelente pregunta. Ejecutar un gran proyecto en una versión sucesiva de Python no sería muy definitivo, a menos que tuvieras, por ejemplo, pruebas unitarias que lograron mágicamente una cobertura del código del 100%, por lo que una herramienta como esta sería agradable de tener. –