Pythonの世界では、python.exe
とpythonw.exe
の2つの異なる実行可能ファイルが存在します。これらの違いを理解することは、Pythonプログラムを効果的に実行するために重要です。
python.exe
はコンソール(ターミナル)アプリケーションで、CLIタイプのスクリプト(コンソールアプリケーション)を起動するために使用されます。既存のコンソールウィンドウから実行されない限り、python.exe
は新しいコンソールウィンドウを開きます。標準ストリームsys.stdin
、sys.stdout
、sys.stderr
はコンソールウィンドウに接続されています。
一方、pythonw.exe
はGUIアプリケーションで、GUIまたはUIのないスクリプトを起動するために使用されます。pythonw.exe
はコンソールウィンドウを開かず、実行は非同期です。標準ストリームsys.stdin
、sys.stdout
、sys.stderr
は利用できません。
Python for Windowsをインストールすると、.py
の拡張子を持つファイルはデフォルトでpython.exe
で実行され、.pyw
ファイルはデフォルトでpythonw.exe
で実行されます。
これらの違いを理解することで、Pythonプログラムの実行方法をより適切に選択できます。例えば、純粋なグラフィカルインターフェイスプログラムを開発する場合、一時的に.pyw
を.py
に変更して、実行時にコンソールウィンドウを呼び出し、すべてのエラーメッセージを簡単に確認できます。