2013-03-11 10 views
5

मेरे पास एक छोटा ऐप है जिसे मैं विंडोज मशीनों के खिलाफ बनाने की कोशिश कर रहा हूं। कार्यक्रम एक ओपन वीपीएन कनेक्शन बनाता है। यदि मैं प्रोग्राम बनाता हूं और इसे चलाता हूं तो यह पहले प्रोग्राम आउटपुट के रूप में एक कंसोल खोलता है। यदि मैं -w पैरामीटर को पाइंस्टॉलर से पास करता हूं ताकि इसे कंसोल से नहीं बनाया जा सके, तो प्रोग्राम बिल्कुल चलने में विफल रहता है। यह ठीक से खुलता है लेकिन वीपीएन कनेक्शन कभी नहीं बनाया जाता है।pyinstaller प्रोग्राम कंसोल के बिना बनाया गया काम नहीं कर रहा है

कंसोल के साथ सबकुछ सही काम करता है।

मेरे पास यह देखने के लिए एप्लिकेशन के लिए मूल लॉगिंग भी है कि मेरा कोड कहां बंद हो सकता है और कुछ भी लिखा नहीं जाता है। मेरे कार्यक्रम पर कंसोल के साथ सभी प्रकार के लॉग थूकते हैं।

मुझे नहीं पता कि मेरा प्रोग्राम कंसोल के साथ पूरी तरह से क्यों प्रदर्शन कर रहा है लेकिन बिना किसी के कुछ भी कर रहा है। कोई विचार?

उत्तर

4

इसे स्वयं जवाब देना होगा। सुनिश्चित करें कि आप कुछ भी प्रिंट नहीं करते हैं और आप सभी stdout को लॉगर, फ़ाइल या कंसोल के बजाए और भी कुछ भी रीडायरेक्ट करते हैं।

4

मुझे एक ही समस्या थी, लेकिन कंसोल पर जाने वाले किसी भी प्रिंट/स्टडआउट स्टेटमेंट को नहीं मिला। मैं subprocess.Popen का उपयोग कर रहा था और stdout = subprocess.PIPE पुनर्निर्देशित कर रहा था। मैंने बाद में stderr = subprocess.STDOUT और stdin = subprocess.PIPE जोड़ा और मेरा प्रोग्राम काम किया। इस पृष्ठ (Python subprocess.call() fails when using pythonw.exe) उपप्रभाव विफलताओं पर मुझे इसे काम करने में मदद मिली।

संबंधित मुद्दे