2017-10-17 16 views
2

변환 tkinter 프로그램을 작성하고 .pyw 파일로 저장하여 CLI backgound window를 표시하지는 않지만 py2exe 및 cx-Freeze를 사용하여 컴파일 할 때 실행 파일을 실행하면 CLI 프롬프트가 나타납니다. 블랙 윈도우를 실행하지 않으면 실행 파일로 어떻게 컴파일 할 수 있습니까?Tkinter app withoul CLI

답변

0

윈도우에서는 사용하여 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 인수를 사용하는 것입니다. 이것은 매우 간단하고 다음과 같이 수행 할 수 있습니다 (위와 같이)이 같은

"include_files":["path/to/folder"] 

또는 개별 파일 :

이 같은 폴더 전체를 포함 할 수 있습니다이 방법을 사용

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/file.png"] 
+0

감사합니다. Simon. 실제로 작동했지만 뭔가 잘못되었습니다. 빌드가 성공했지만 모든 미디어 파일이 복사되지 않았으므로 수동으로 이동해야합니다. 그건 그렇고, 만약 내가 cx_Freeze 대신에 py2exe를 사용하고 싶다면 나를 도와 줄 수 있겠는가? –

+0

@LeeYou 죄송합니다 py2exe (파이썬 2에서만 작동합니다)도 알지 못합니다. 포함 할 미디어 파일의 이름과 파일 경로는 무엇입니까? 나는 당신이 말해 줄 때 이것을 포함하도록 편집 할 것입니다. – Simon