2015-04-15 13 views
5

Sto provando a convertire un gioco Python (realizzato con pygame) in un file exe per Windows, e ho usato cx_Freeze. Nessun problema lì.
Il fatto è che quando lancio myGame.exe, si apre la normale finestra Pygame e una finestra della console (che non voglio).help cx_Freeze: c'è un modo per NON rendere la console aperta?

C'è un modo per rimuovere la finestra della console? Ho letto la maggior parte della documentazione, ma non ho visto nulla di veramente (tranne base, ma non capisco cosa sia).

BTW, qui è il mio file di installazione:

import cx_Freeze 

exe = [cx_Freeze.Executable("myGame.py")] 

cx_Freeze.setup(
    name = "GameName", 
    version = "1.0", 
    options = {"build_exe": {"packages": ["pygame", "random", "ConfigParser", "sys"], "include_files": [ 
    "images", "settings.ini", "arialbd.ttf"]}}, 
    executables = exe 
) 

Ecco uno screenshot di ciò che accade quando lancio l'exe: ScreenShot

+0

Modificare il nome di "myGame.py" a "myGame.pyw". Vedi http://stackoverflow.com/questions/12121033/python-terminal-window-popping-up-at-pygame-app-run per i dettagli. Anche di interesse: http://stackoverflow.com/questions/7012444/disable-the-pygame-console-output –

+0

possibile duplicato di [Come posso nascondere la finestra della console in un'app PyQt in esecuzione su Windows?] (Http://stackoverflow.com/questions/466203/how-can-i-hide-the-console-window-in-a-pyqt-app-running-on-windows) –

+0

Ho già provato a modificare l'estensione di myGame.py in. pyw ma non c'è alcun cambiamento nel comportamento del file exe (ancora apre console) :( – Dalex

risposta

6

Così che cosa era sbagliato, era che il file setup.py mancava un parametro
Ciò che è necessario aggiungere è base = "Win32GUI" per dichiarare che non è necessaria una finestra della console all'avvio dell'applicazione.
Ecco il codice:

import cx_Freeze 

exe = [cx_Freeze.Executable("myGame.py", base = "Win32GUI")] # <-- HERE 

cx_Freeze.setup(
    name = "GameName", 
    version = "1.0", 
    options = {"build_exe": {"packages": ["pygame", "random", "ConfigParser", "sys"], 
     "include_files": ["images", "settings.ini", "arialbd.ttf"]}}, 
    executables = exe 
)