【cx_Freeze】作成したexeでコンソールを非表示にする方法

cx_Freezeでexeを生成するときに使用する設定ファイルsetup.pyを編集することで、exeファイルを実行した際にコンソールを表示しないようにすることができます。

この記事では、Pythonのパッケージであるcx_Freezeを使用して作成したexeファイルでコンソールを非表示にする方法について解説します。

目次から探す

コンソールを非表示にする方法

Pythonのパッケージであるcx_Freezeを使用して、Pythonスクリプトを実行可能なexeファイルに変換することができます。

しかし、デフォルトではexeファイルを実行すると、コンソールウィンドウが表示されます。

setup.pyファイルの編集

cx_Freezeを使用してPythonスクリプトをexeファイルに変換する際には、setup.pyファイルを作成する必要があります。

ファイル名はsetup.pyじゃなくても大丈夫ですが、setup.pyと名付けることが一般的です。

このファイルには、変換の設定やオプションを記述しますが、コンソールを非表示にするためのオプションも用意されています。

以下のようなコードを追加してください。

import sys
from cx_Freeze import setup, Executable
# コンソールを非表示にするオプションを設定
options = {
    'build_exe': {
        'base': 'Win32GUI',  # コンソールを非表示にするオプション
    }
}
# 実行可能なexeファイルを作成するための設定
executables = [
    Executable('your_script.py', base=None)
]
# setup関数を呼び出してexeファイルを作成
setup(name='your_app',
      version='1.0',
      description='Your Application',
      options=options,
      executables=executables)

上記のコードでは、optionsbuild_exeセクションでbaseWin32GUIに設定することで、コンソールを非表示にするオプションを指定しています。

ビルドする

上記のsetup.pyファイルを編集した後、cx_Freezeを使用してexeファイルを作成すると、コンソールが非表示になります。

python setup.py build

このコマンドを実行すると、指定したPythonスクリプト(your_script.py)からexeファイルが作成されます。

作成されたexeファイルを実行すると、コンソールが表示されずにアプリケーションが起動します。

デバッグやエラーメッセージの確認が難しくなりますが、リリースビルドでは不要なので、デバッグビルド以外のときは非表示にするといいでしょう。

setup_release.py setup_debug.pyのように、複数のsetupファイルを用意しておくのがおすすめです。

以上が、cx_Freezeを使用して作成したexeファイルでコンソールを非表示にする方法です。

目次から探す