2012-09-20 15 views
8

este es mi código muy simple, argvs de impresión:de impresión no funciona cuando se compila con py2exe

import sys 

argv=sys.argv 
for each in sys.argv: 
    print each 

aquí está la salida cuando corrió:

e:\python>python test1.py 1 2 3 4 5 
test1.py 
1 
2 
3 
4 
5 

Quiero que ser compilado, por lo que hizo uno con py2exe:

e:\python>python setup.py py2exe 

y mi setup.py:

from distutils.core import setup 
import py2exe, sys, os 

sys.argv.append('py2exe') 

setup(
    options = {'py2exe': {'bundle_files': 3}}, 
    windows = [{'script': "test1.py"}], 
    zipfile = None, 
) 

y no obtengo ninguna salida cuando ejecuto mi programa por test1.exe 1 2 3 4 5 o con cualquier otro argvs. sys.argvs debería ser una lista con al menos un objeto (test1.exe), por lo que creo que tengo malentendidos con la función de impresión de python. ¿Hay algo que esté haciendo mal aquí? Solo quiero que todo se imprima en la línea de comandos. Programa desde Linux, pero los usuarios de Windows deberían usar mi programa.

muchas gracias

Respuesta

10
# ... 
windows = [{'script': "test1.py"}], 
#... 

windows opción se utiliza para crear ejecutables interfaz gráfica de usuario, que suprime la salida de la consola. Use console en su lugar:

from distutils.core import setup 
import py2exe, sys, os 

sys.argv.append('py2exe') 

setup(
    options = {'py2exe': {'bundle_files': 3}}, 
    console = [{'script': "test1.py"}], 
    zipfile = None, 
) 
Cuestiones relacionadas