2012-09-20 11 views
8

questo è il mio semplice codice, argvs stampa:Stampa non funziona quando si compila con py2exe

import sys 

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

ecco l'output quando correva:

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

voglio che essere compilato, così ho fatto uno con py2exe:

e:\python>python setup.py py2exe 

e la mia 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, 
) 

e non ottengo alcun output quando eseguo il mio programma da test1.exe 1 2 3 4 5 o con qualsiasi altro argvs. sys.argvs dovrebbero essere una lista con almeno un oggetto (test1.exe) in esso, quindi penso di avere le incomprensioni con funzione di stampa di pitone. C'è qualcosa che sto facendo male qui? Voglio solo che tutto sia stampato a comando. Programmo da Linux, ma gli utenti di Windows dovrebbe usare il mio programma.

vi ringrazio molto

risposta

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

windows opzione viene utilizzata per creare eseguibili GUI, che sopprime l'output della console. Utilizzare invece console:

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, 
) 
Problemi correlati