30

wxPython を使用して Python アプリケーションを開発し、cxFreeze を使用してそれをフリーズしています。次のビットを除いて、すべてがうまくいっているようです。

cxFreeze によって作成された実行可能ファイルを実行すると、空白のコンソール ウィンドウが表示されます。見せたくない。非表示にする方法はありますか?

これは cxFreeze サイトで文書化されていないようであり、Google は Py2Exe に関するいくつかの同様の問題を除いてあまり発見しませんでした。

ありがとう。

4

4 に答える 4

20

これはある程度機能しましたが、問題があります。私のプログラムは、コンソール モードと GUI モードの両方で実行されます。--console引数を指定してコンソールから実行すると、コンソール モードで実行されます。以下の手順を実行すると、これは機能しなくなり、プログラムは GUI アプリにすぎません。

次のソース コードは、\Python\Lib\site-packages\cx_Freeze\samples\PyQt4\setup.py. 今日のレッスン。README を読んでください。

# A simple setup script to create an executable using PyQt4. This also
# demonstrates the method for creating a Windows executable that does not have
# an associated console.
#
# PyQt4app.py is a very simple type of PyQt4 application
#
# Run the build process by running the command 'python setup.py build'
#
# If everything works well you should find a subdirectory in the build
# subdirectory that contains the files needed to run the application

import sys

from cx_Freeze import setup, Executable

base = None
if sys.platform == "win32":
    base = "Win32GUI"

setup(
        name = "simple_PyQt4",
        version = "0.1",
        description = "Sample cx_Freeze PyQt4 script",
        executables = [Executable("PyQt4app.py", base = base)])
于 2010-05-21T12:40:55.130 に答える
20

Windows の場合:

このような行を使用する必要があります (必要に応じてファイル フォルダーと名前を使用します)。

C:/Python/Scripts/cxfreeze C:/Python/Code/yourprogram.py --base-name=Win32GUI --target-dir C:/Python/Dist

オプションを追加する--base-name=Win32GUIことで、コンソールウィンドウが表示されなくなります。

于 2011-06-10T17:58:06.327 に答える
3

オプション 1) gui2exeを使用して、さまざまなオプションをいじります。

オプション 2) setup.py を「base」パラメーターなどで変更します。

GUI2Exe_Target_1 = Executable(
    # what to build
    script = "rf_spi.py",
    initScript = None,
    base = 'Win32GUI',  # <-- add this
    targetDir = r"dist",
    targetName = "rf_spi.exe",
    compress = True,
    copyDependentFiles = False,
    appendScriptToExe = False,
    appendScriptToLibrary = False,
    icon = r"wireless.ico"
    )
于 2010-07-30T01:10:44.937 に答える
3

Windows を使用している場合は、「メイン」スクリプトの拡張子 (アプリを起動する) の名前を .pyw に変更できます。

于 2010-05-21T12:24:53.403 に答える