2010-05-21 8 views
30

मैं wxPython का उपयोग करके एक पायथन एप्लिकेशन विकसित कर रहा हूं और इसे cxFreeze का उपयोग करके ठंडा कर रहा हूं। यह सब कुछ ठीक से अलग हो रहा है:सीएक्सफ़्रीज़ के साथ wxPython अनुप्रयोगों को जमा करते समय मैं कंसोल विंडो को कैसे छिपा सकता हूं?

जब मैं cxFreeze द्वारा निष्पादित निष्पादन योग्य चलाता हूं, तो एक खाली कंसोल विंडो पॉप अप हो जाती है। मैं इसे दिखाना नहीं चाहता। क्या कोई रास्ता है जिससे मैं इसे छुपा सकता हूं?

ऐसा लगता है कि यह cxFreeze साइट पर प्रलेखित नहीं है और गूगलिंग Py2Exe के साथ कुछ समान सॉर्ट समस्याओं से अलग नहीं हुआ है।

धन्यवाद।

उत्तर

18

यह कुछ हद तक काम किया नाम बदलने सकता है, लेकिन यह मुद्दे हैं। मेरा प्रोग्राम कंसोल मोड और एक जीयूआई मोड दोनों में चलता है। कंसोल से --console तर्क के साथ चलाए जाने पर यह कंसोल मोड में चलता है। जब मैंने नीचे दी गई प्रक्रिया का पालन किया, तो यह अब और काम नहीं करता है और मेरा प्रोग्राम केवल एक जीयूआई ऐप है।

निम्नलिखित स्रोत कोड \Python\Lib\site-packages\cx_Freeze\samples\PyQt4\setup.py में नमूना फ़ाइल से आता है। दिन का सबक पढ़ें पढ़ें।

# A simple setup script to create an executable using PyQt4. This also 
# demonstrates the method for creating a Windows executable that does not have 
# an associated console. 
# 
# PyQt4app.py is a very simple type of PyQt4 application 
# 
# Run the build process by running the command 'python setup.py build' 
# 
# If everything works well you should find a subdirectory in the build 
# subdirectory that contains the files needed to run the application 

import sys 

from cx_Freeze import setup, Executable 

base = None 
if sys.platform == "win32": 
    base = "Win32GUI" 

setup(
     name = "simple_PyQt4", 
     version = "0.1", 
     description = "Sample cx_Freeze PyQt4 script", 
     executables = [Executable("PyQt4app.py", base = base)]) 
2

आप Windows का उपयोग कर रहे हैं, तो आप अपने "मुख्य" स्क्रिप्ट के विस्तार (कि ऐप्लिकेशन को लॉन्च) .pyw को

+3

यह काम नहीं लग रहा था। मैंने इसे पीवायडब्लू में बदल दिया लेकिन यह अभी भी पॉप अप हुआ। –

2

विकल्प 1) का उपयोग करें gui2exe विभिन्न विकल्पों के साथ गंदगी के लिए।

विकल्प 2) अपने सेटअप.py को 'बेस' पैरामीटर के साथ संशोधित करें।

GUI2Exe_Target_1 = Executable(
    # what to build 
    script = "rf_spi.py", 
    initScript = None, 
    base = 'Win32GUI', # <-- add this 
    targetDir = r"dist", 
    targetName = "rf_spi.exe", 
    compress = True, 
    copyDependentFiles = False, 
    appendScriptToExe = False, 
    appendScriptToLibrary = False, 
    icon = r"wireless.ico" 
    ) 
18

विंडोज के लिए:

आप एक (जैसा उचित उपयोग फ़ाइल फ़ोल्डर और नाम) इस तरह लाइन

C:/Python/Scripts/cxfreeze C:/Python/Code/yourprogram.py --base-name=Win32GUI --target-dir C:/Python/Dist 

उपयोग करने के लिए --base-name=Win32GUI विकल्प को जोड़ कर है, कंसोल विंडो दिखाई नहीं देगा ।

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

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