Compile (but do not run) a Python script

Question:

I want to check a script for syntax errors. In both 2.x and 3.x, how can I compile the script without running it?

Asked By: asmeurer

||

Answers:

py_compile — Compile Python source files

import py_compile
py_compile.compile('my_script.py')
Answered By: yurymik

One way is to do something like this (for test.py):

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

This works for Python 2.x.

Answered By: Greg Hewgill

You can use pylint to find syntax errors as well as more subtle errors, such as accessing undefined variables in some rarely-used conditional branch.

Answered By: pafcu
python -m py_compile script.py
Answered By: Mark Johnson
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.