web-dev-qa-db-fra.com

Compiler (mais ne pas exécuter) un Python

Duplicate possible:
Comment puis-je vérifier la syntaxe de Python sans l'exécuter?

Comment compiler un script Python sans l'exécuter? Je souhaite simplement vérifier que le script ne contient pas d'erreur de syntaxe. J'espérais un simple commutateur de ligne de commande, mais je ne voyais rien dans python --help. Je voudrais une réponse pour les deux Python 2 et Python 3.

96
asmeurer

py_compile - Compile Python

import py_compile
py_compile.compile('my_script.py')
45
yurymik
python -m py_compile script.py
352
Mark Johnson

Vous pouvez utiliser pylint pour rechercher des erreurs de syntaxe, ainsi que des erreurs plus subtiles, telles que l'accès à des variables non définies dans certaines branches conditionnelles rarement utilisées.

13
pafcu

Une façon est de faire quelque chose comme ça (pour test.py):

python -c "__import__('compiler').parse(open('test.py').read())"

Cela fonctionne pour Python 2.x.

7
Greg Hewgill