2012-09-20 17 views
8

साथ संकलित यह मेरा बहुत ही सरल कोड, मुद्रण argvs है:प्रिंट काम नहीं कर रहा है जब py2exe

import sys 

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

यहां उत्पादन जब भाग गया है:

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

मैं चाहता हूँ उसे कंपाइल करने के लिए, तो मैं बना py2exe के साथ एक:

e:\python>python setup.py py2exe 

और मेरे 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, 
) 

और जब मैं test1.exe 1 2 3 4 5 या किसी अन्य तर्क के साथ अपना प्रोग्राम चलाता हूं तो मुझे कोई आउटपुट नहीं मिलता है। sys.argvs कम से कम एक ऑब्जेक्ट (test1.exe) के साथ एक सूची होनी चाहिए, इसलिए मुझे लगता है कि मुझे अजगर के प्रिंट फ़ंक्शन के साथ गलतफहमी है। क्या मैं कुछ भी गलत कर रहा हूं? मैं बस सबकुछ कमांडलाइन पर मुद्रित करना चाहता हूं। मैं लिनक्स से प्रोग्राम, लेकिन विंडोज उपयोगकर्ताओं को मेरे प्रोग्राम का उपयोग करना चाहिए।

आपको बहुत बहुत

उत्तर

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

windows विकल्प जीयूआई निष्पादनयोग्य बनाने के लिए है, जो सांत्वना उत्पादन को दबा प्रयोग किया जाता है धन्यवाद। इसके बजाय 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, 
) 
संबंधित मुद्दे