Python raw_input causa EOFError después de crear una aplicación con py2app

He escrito un pequeño guión que me ayuda a resolver problemas de scrabble y word warp. Funciona bien cuando lo ejecuto desde el terminal de Mac OS X. Me gustaría compartir el guión con mis amigos como una aplicación Mac independiente. Por lo tanto, utilicé py2app para esto, pero la aplicación se bloqueó cuando hacía doble clic en él. La consola muestra el siguiente mensaje de error:

1/17/11 2:13:51 PM [0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875] Enter letters: Traceback (most recent call last): 1/17/11 2:13:51 PM [0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875] File "/Users/***/wordwarp/dist/warp.app/Contents/Resources/__boot__.py", line 137, in  1/17/11 2:13:51 PM [0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875] _run('warp.py') 1/17/11 2:13:51 PM [0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875] File "/Users/***/wordwarp/dist/warp.app/Contents/Resources/__boot__.py", line 134, in _run 1/17/11 2:13:51 PM [0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875] execfile(path, globals(), globals()) 1/17/11 2:13:51 PM [0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875] File "/Users/***/wordwarp/dist/warp.app/Contents/Resources/warp.py", line 4, in  1/17/11 2:13:51 PM [0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875] word = raw_input("Enter letters: ") 1/17/11 2:13:51 PM [0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875] EOFError: EOF when reading a line 1/17/11 2:13:51 PM warp[9875] warp Error 1/17/11 2:13:51 PM warp[9875] warp Error 1/17/11 2:13:52 PM com.apple.launchd.peruser.501[469] ([0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875]) Exited with exit code: 255 

Aquí está el script real:

 import string word = raw_input("Enter letters: ") dict = open('dict.txt') wordmap = {} for c in string.lowercase: wordmap[c] = 0 for c in word: if c in wordmap: wordmap[c] = wordmap[c]+1 for line in dict: line = line.strip() if len(line) >= 3: linemap = {} for c in string.lowercase: linemap[c] = 0 for c in line: if c in linemap: linemap[c] = linemap[c]+1 match = True for c in linemap: if linemap[c] > wordmap[c]: match = False if match is True: print line 

¿Cómo puedo deshacerme del error?

Los progtwigs Python envueltos como aplicaciones por py2app no tienen una ventana de terminal desde la cual ingresar la entrada. Necesitaría proporcionar una forma más elegante de ingresar la entrada y la salida suplementaria, por ejemplo, utilizando el módulo Tkinter de Python. Si su secuencia de comandos se ejecuta desde el terminal y desea crear una aplicación en la que se pueda hacer clic, es probable que sea más sencillo empaquetarla como una aplicación de Automater o AppleScript que inicie una sesión de Terminal .