web-dev-qa-db-ja.com

Pythonスクリプトをコンパイルします(実行しません)

可能性のある複製:
実行せずにPythonスクリプトの構文を確認するにはどうすればよいですか?

Pythonスクリプトを実行せずにコンパイルするにはどうすればよいですか?スクリプトの構文エラーを確認したいだけです。シンプルなコマンドラインスイッチを望んでいましたが、python --helpには何も表示されませんでした。 Python 2とPython 3の両方に対する回答が欲しいです。

96
asmeurer

py_compile — Pythonソースファイルをコンパイルする

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

pylint を使用すると、まれにしか使用されない条件分岐で未定義の変数にアクセスするなど、構文エラーやより微妙なエラーを見つけることができます。

13
pafcu

1つの方法は、次のようなことを行うことです(test.pyの場合):

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

これはPython 2.xで機能します。

7
Greg Hewgill