2012-10-09 9 views
8

मैंने हाल ही में एक पायथन 3.2.2 exe फ़ाइल बनाने के लिए प्रयुक्त cx_freeze बनाया है। जब मैंने exe फ़ाइल चलाने की कोशिश की तो कुछ भी नहीं हुआ।cx_freeze के साथ पायथन एक्सई फ़ाइल बनाने के बाद फ़ाइल कुछ भी नहीं करती है

यहाँ मेरी test.py फ़ाइल के लिए कोड है:

from cx_Freeze import setup, Executable 

exe = Executable(
    script="test.py", 
    base="Win32GUI", 
    targetName="Test.exe" 
    ) 


setup(
    name = "Test", 
    version = "0.1", 
    description = "I wish programming was this easy", 
    executables = [exe]) 

निर्माण निर्देशिका कि cx_freeze नामक फ़ोल्डर है:

print("hello world") 

for i in range(5): 
    print(i) 

यहाँ मेरी testSetup.py फ़ाइल के लिए कोड है exe.win32-3.2 फ़ाइलों है जो:

bz2.pyd
library.zip
python32.dll
Test.exe
unicodedata.pyd

+0

मुझे लगता है कि क्लिक कर रहे हैं .exe ने कुछ कमांड प्रॉम्प्ट खोला होगा? –

+0

यदि आप इसे विंडोज कंप्यूटर से कर रहे हैं, तो [p2exe] (http://py2exe.org/) बहुत आसान है – inspectorG4dget

+0

यह कमांड प्रॉम्प्ट नहीं खोलता है। –

उत्तर

3

प्लेस अपने कोड के नीचे स्थित एक input(), और फिर कोशिश करें:

अपने .exe रन तरह लग रहा है और मौजूद है आप कुछ भी देख सकते हैं इससे पहले कि, तो एक input() जगह बाहर निकलने से पहले स्क्रिप्ट को उपयोगकर्ता इनपुट के लिए प्रतीक्षा करने के लिए नीचे।

print("hello world") 

for i in range(5): 
    print(i) 
input() 
+1

है, मैंने अपने कोड के नीचे इनपुट() डाल दिया और इसे चलाया, लेकिन फिर एक त्रुटि पॉप अप हुई जो कहा: ट्रेसबैक मॉड्यूल आयात नहीं कर सकता। अपवाद: कोई मॉड्यूल नाम मूल अपवाद: इनपुट(): खोया sys.stdin –

+0

@ स्नैक पी http://stackoverflow.com/questions/5603287/exe-error-with-cx-freeze –

+0

@ अश्विनी कुधारी मैंने क्या किया लिंक करने के लिए कहा, लेकिन फिर इनपुट के कारण यह एक त्रुटि फेंक दिया। तो फिर मैंने इनपुट लाइन हटा दी और यह कुछ भी करने के लिए वापस नहीं है या कमांड प्रॉम्प्ट इसे देखने के लिए बहुत तेज़ गायब हो रहा है। –

17

मेरे सुझाव:

  1. सेट base = None (यह कोशिश: शायद यह है कि सभी आप चाहते है base = Win32GUI करता है "छिपाएँ" कंसोल - यह उपयोगी है जब आप एक जीयूआई का निर्माण कर रहे?)

0123:
  • अपने .exe के साथ एक ही फ़ोल्डर में एक बैच फ़ाइल (.bat के साथ एक पाठ फ़ाइल) को कॉल करने के लिए अपने .exe बनाने

    यह आपके बैच फ़ाइल में चला जाता है:

    name-of-your-app.exe %1 
    
    PAUSE 
    

    आप बैच फ़ाइल पर क्लिक करके अपने एप्लिकेशन शुरू करेंगे - यह सांत्वना खुला रहता है तो आप त्रुटियों/आउटपुट ईख में सक्षम हैं।

  • +0

    पर नया हूं, मुझे एक ही समस्या थी, एक बार जब मैं आधार स्थापित करता हूं = कोई भी .exe कंसोल पर प्रिंटिंग शुरू कर दिया। –

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