2012-10-09 4 views
8

최근에 cx_freeze를 사용하여 파이썬 3.2.2 exe 파일을 만들었습니다. exe 파일을 실행하려고했을 때 아무 일도 없었습니다. 만든 나 cx_Freeze 빌드 디렉토리라는 폴더가cx_freeze로 파이썬 exe 파일을 만든 후에 파일이 아무 것도하지 않습니다

from cx_Freeze import setup, Executable 

exe = Executable(
    script="test.py", 
    base="Win32GUI", 
    targetName="Test.exe" 
    ) 


setup(
    name = "Test", 
    version = "0.1", 
    description = "I wish programming was this easy", 
    executables = [exe]) 

: 여기

print("hello world") 

for i in range(5): 
    print(i) 

내 testSetup.py 파일의 코드는 다음과 같습니다

내 test.py 파일에 대한 코드 exe.win32-3.2 파일이있는 :

bz2.pyd
python32.dll 0
library.zip을 Test.exe라는
unicodedata.pyd

+0

.exe를 클릭하면 일부 명령 프롬프트를 열었습니까? –

+0

Windows 컴퓨터에서이 작업을 수행하는 경우 [p2exe] (http://py2exe.org/)가 훨씬 쉽습니다. – inspectorG4dget

+0

명령 프롬프트가 열리지 않았습니다. –

답변

3

놓습니다 코드의 맨 아래에 input()하고 다시 시도 :

.exe 실행 것 같은데 당신은 그래서 input()을 배치, 아무 것도 볼 수 있습니다 전에 존재 끝내기 전에 스크립트가 사용자 입력을 기다릴 수 있도록합니다.

print("hello world") 

for i in range(5): 
    print(i) 
input() 
+1

내 코드의 맨 아래에 input()을 넣고 실행했지만 오류가 발생했다 : 역 추적 모듈을 가져올 수 없다. 예외 : 모듈 이름이 없습니다 원래 예외 : input() : lost sys.stdin –

+0

@SnakeP 참조 http://stackoverflow.com/questions/5603287/exe-error-with-cx-freeze –

+0

@AshiwiniChuadhary 링크는 그렇게 말했지만 입력으로 인해 오류가 발생했습니다. 그래서 입력 줄을 제거하고 아무 것도하지 않거나 명령 프롬프트가 너무 빨리 사라져서 표시되지 않습니다. –

17

나의 제안 :

  1. 설정 base = None (그것을 시도 : 어쩌면 당신이 원하는 모든입니다 base = Win32GUI "숨기기"콘솔 않습니다 - 당신이 GUI를 구축 할 때이 유용?)는

: 당신이 .exe 같은 폴더에
  • 는 배치 파일 (.BAT와 텍스트 파일)를 호출에 .exe을

    이 당신의 배치 파일로 전환 :

    name-of-your-app.exe %1 
    
    PAUSE 
    

    당신은 배치 파일을 클릭하여 응용 프로그램을 시작합니다 - 당신이 갈대에 오류/출력 할 수있어 있도록 열려있는 콘솔을 유지합니다.

  • +0

    일단 내가'base = None' .exe가 콘솔에서 인쇄를 시작했습니다. –

    관련 문제