私はwxPythonを使用してPythonアプリケーションを開発し、cxFreezeを使用してそれをフリーズしています。次のビットを除けばすべてうまくいくようです:
CxFreezeで作成した実行可能ファイルを実行すると、空白のコンソールウィンドウがポップアップします。見せたくない。それを隠す方法はありますか?
それはcxFreezeサイトに文書化されていないようで、グーグルはPy2Exeに関するいくつかの同様の問題を除けばあまり現れませんでした。
ありがとう。
これはある程度機能しましたが、問題があります。私のプログラムは、コンソールモードと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)])
Windowsの場合:
このような行を使用する必要があります(必要に応じてファイルフォルダと名前を使用してください)
C:/Python/Scripts/cxfreeze C:/Python/Code/yourprogram.py --base-name=Win32GUI --target-dir C:/Python/Dist
--base-name=Win32GUI
オプションを追加すると、コンソールウィンドウは表示されません。
オプション1) gui2exe を使用して、さまざまなオプションをいじります。
オプション2)「base」パラメータを使用してsetup.pyを変更します。
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"
)
Windowsを使用している場合は、「メイン」スクリプトの拡張子(アプリを起動する)の名前を.pywに変更できます。