2013-12-12 12 views
6

Il mio problema è che py2exe sta generando un file di registro quando corro. Non genera perché ho un errore durante l'esecuzione del programma. Al file di registro c'è la console standard stampata!Py2Exe genera il file di registro

Come posso fare che nessun file di registro potrebbe generare?

qui il mio py2exe codice di installazione:

from distutils.core import setup 
import py2exe, sys, os 
sys.argv.append('py2exe') 
setup(
    options = {'py2exe': {'bundle_files': 1, 'compressed': True}}, 
    windows = [{'script': "run.py"}], 
    zipfile = None 
) 
+0

È necessario includere anche il traceback degli errori. –

+2

non ci sono errori! Voglio solo disabilitare il file di registro ... – Tekkzz

+0

Puoi impostare 'sys.stdout = os.devnull' nel tuo script - o fare l'equivalente tramite il reindirizzamento della riga di comando. – martineau

risposta

4

In applicazioni GUI, py2exe reindirizza sys.stderr ad un file di log e sys.stdout a un oggetto che ignora tutte le scritture. Per evitare il file di registro, fare questo nel vostro programma nella parte superiore del modulo principale:

import sys 
sys.stderr = sys.stdout 

Oppure, lasciare py2exe creare un'applicazione console utilizzando la parola chiave console invece di windows in setup.py.

+2

nel file di installazione o nel mio programma? – Tekkzz

+2

Tutto non ha funzionato. Posso semplicemente rimuovere il file da py2exe? (Boot_common.py)? – Tekkzz

+1

@ user3096402 In base ai commenti in boot_common.py, è necessario del reindirizzamento per evitare un'eccezione causata dalla scrittura sullo stderr predefinito. –

1

Probabilmente è possibile rimuovere il contenuto del file! Può funzionare, ma devi vedere se il tuo programma ha bisogno di alcune funzioni definite lì e quindi può ottenere errori!

-1

Alla chat hai detto che vuoi usare Python 3 ma Py2Exe non c'è ... Perché non usi cx_Freeze? Genera un cestino e un file .exe. Puoi fare un'installazione con InnoSetup e il gioco è perfetto!

Problemi correlati