2
所以我創建了一個tkinter程序並將其保存爲一個.pyw文件,以便當我運行它時它不會顯示CLI背景窗口,但是當我使用py2exe和cx-Freeze編譯它時,運行它顯示CLI提示符的可執行文件。我怎樣才能將它編譯成可執行文件,在運行時它不會顯示黑色窗口?轉換Tkinter應用程序與CLI CLI
所以我創建了一個tkinter程序並將其保存爲一個.pyw文件,以便當我運行它時它不會顯示CLI背景窗口,但是當我使用py2exe和cx-Freeze編譯它時,運行它顯示CLI提示符的可執行文件。我怎樣才能將它編譯成可執行文件,在運行時它不會顯示黑色窗口?轉換Tkinter應用程序與CLI CLI
在Windows中,你可以使用隱藏CLI:
base = Win32GUI
例如,在此腳本:
import sys
from cx_Freeze import setup, Executable
build_exe_options = {"packages": ["os"], "excludes": []}
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup( name = "guifoo",
version = "0.1",
description = "My GUI application!",
options = {"build_exe": build_exe_options},
executables = [Executable("guifoo.py", base=base)])
編輯:
你提不包括媒體文件。這很正常,你必須手動指定這些。雖然有很多方法可以做到這一點,但最簡單的方法是使用include_files
參數。這是相當簡單,可以這樣做:
import sys
from cx_Freeze import setup, Executable
build_exe_options = {"packages": ["os"], "excludes": [], "include_files":["Path/To/Media/Files.jpg"]}
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup( name = "guifoo",
version = "0.1",
description = "My GUI application!",
options = {"build_exe": build_exe_options},
executables = [Executable("guifoo.py", base=base)])
使用這種方法,你可以包括這樣的整個文件夾:
"include_files":["path/to/folder"]
或單個文件(如上圖所示),這樣的:
"include_files":["path/to/file.png"]
謝謝西蒙。它確實有效,但有些錯誤。構建成功,但所有媒體文件未被複制,因此我必須手動移動它。順便說一句,如果我想使用py2exe而不是cx_Freeze,你能幫助我嗎? –
@LeeYou沒有抱歉,我不知道py2exe(它也只適用於python 2)還包括媒體文件的名稱和文件路徑是什麼?一旦你告訴我,我會編輯包含這些內容。 – Simon