2010-11-25 26 views
6

py2exeraw_input()でスクリプトからexeファイルを作成した後、EOFErrorが発生しています。py2exeでexeを作成した後にraw_inputが発生する

どうすればこの問題を回避できますか?

File "test.py", line 143, in main 
    raw_input("\nPress ENTER to continue ") 
EOFError: EOF when reading a line 

答えて

4
>>> help(raw_input) 
Help on built-in function raw_input in module __builtin__: 

raw_input(...) 
    raw_input([prompt]) -> string 

    Read a string from standard input. The trailing newline is stripped. 
    If the user hits EOF (Unix: Ctl-D, Windows: Ctl-Z+Return), raise EOFError. 
    On Unix, GNU readline is used if enabled. The prompt string, if given, 
    is printed without a trailing newline before reading. 

は間違って何ですか?あなたはキーボードで何を入力しますか?

編集(ここに報告コメントまで):

私の推測では、あなたが何のコンソールが開かれていないことを意味し、「窓」引数を指定してpy2exeを使用したことである - コンソールなしraw_inputを使用するための標準入力はありません。代わりにsetup.pyの "console"引数を使用することができ、exeがraw_inputが動作するようにコンソールウィンドウを開きます。

+0

私は何も入力/入力する必要はありません。メインの最後にraw_input()があるので、一時停止してstdoutに出力されたデータを見ることができます。私が作成してexeする前にうまくいきました。この目的のためにraw_input()に代わるものがあれば、それを使うことができます。何か案は? – volting

+0

私の推測では、あなたはコンソールが開かれていないことを意味する "windows"引数を持つpy2exeを使用しています - コンソールなしでは、raw_inputを使用するための標準入力がありません。代わりにsetup.pyで "console"引数を使うことができ、あなたのexeはコンソールウィンドウを開き、raw_inputが動くようにします------ http://www.mail-archive.com/[email protected] seul.org/msg04832.html – Ant

+1

はい、それはまさに問題でした。私はwxPython GUIアプリケーションのためのexeファイルを作成するために使用するpy2exeスクリプトのrehashedバージョンを使用していたので、windows引数を使用していました。ありがとう – volting