2012-10-09 7 views
8

私は最近、cx_freezeを使ってpython 3.2.2 exeファイルを作成しました。 exeファイルを実行しようとしたときに何も起こりませんでした。cx_freezeでpython exeファイルを作成した後、ファイルは何もしません

ここに私のtest.pyファイルのコードされています作らcx_freezeビルドディレクトリと呼ばれるフォルダがあり

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ファイルのコードがありますファイルがありexe.win32-3.2:

bz2.pyd

library.zip python32.dll
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():lost sys.stdin –

+0

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

+0

@AshiwiniChuadhary私は何をしましたかリンクは言ったが、入力のためにエラーを投げた。だから、私は入力行を削除して何もしないか、コマンドプロンプトが消えて表示されなくなった。 –

17

私の提案:

  1. は設定base = None(それを試し:多分それはあなたが望むすべてだbase = Win32GUI "隠す" コンソールがありません - あなたはGUIを構築しているとき、これは便利です?)は

  2. をあなたの.exeファイルと同じフォルダに
  3. あなたの.exeファイルを呼び出すバッチファイル(.BATとテキストファイル)を作る:

これはあなたのバッチファイルになります:

name-of-your-app.exe %1 

PAUSE 

あなたはバッチファイルをクリックすることで、あなたのアプリを起動します - それはあなたがリードエラー/出力することができるしているオープンコンソールを保持します。

+0

私は 'base = None' .exeがコンソールで印刷を開始しました。 –