2009-10-06 8 views

Respuesta

18

Se puede decir

python -m py_compile script_to_check.py 

Sin embargo, esto tendrá el efecto secundario de la creación de un archivo compilado script_to_check.pyc en el mismo directorio que el script. Esta característica está diseñada para acelerar los usos posteriores de un módulo en lugar de asegurarse de que su sintaxis sea correcta, aunque ciertamente podría usarla para eso.

0

A través de 2.6, hay the compiler package. Esa página no dice si hay un reemplazo en 3.0, o si simplemente no puede hacer eso más.

+1

hay una función incorporada 'compile' http://docs.python.org/3.1/library/functions.html#compile – SilentGhost

8

Aún mejor es ejecutar pyflakes, pychecker o quizás pylint en el código. Capturan algunos errores comunes que compilar no lo hará.

+0

Si desea ver cosas como las variables utilizadas antes de establecerse, entonces pychecker es útil --- estas cosas no son atrapadas por la mera compilación. Sin embargo, tuve algunos problemas para que verificara un módulo (a diferencia de un script). Tenía que hacer 'pychecker foo.bar foo.bar.baz' porque el archivo' foo/bar/baz.py' usa importaciones relativas. Pero una vez que lo tengo funcionando, parece funcionar bastante bien (por ejemplo, '[ruta del sistema] /foo/bar/baz.py:123 No global (qix) found'). –

Cuestiones relacionadas