Estoy usando Py2exe para compilar un servidor CherryPy (3.1) usando Python 2.6 (32 bits) en Windows 7 Pro (64 bits).

Este servidor se ejecutará sin una GUI.

Preguntas:

  1. ¿Debo preocuparme por agregar un archivo de manifiesto para esta aplicación si se ejecuta sin una GUI?

  2. ¿Debo incluir w9xpopen.exe con mi exe?

Hasta ahora, mis pruebas limitadas han indicado que no necesito incluir un archivo de manifiesto o w9xpopen.exe con mi ejecutable para que funcione.

Comentarios apreciados

Gracias Malcolm

10
Malcolm 15 dic. 2009 a las 04:37

3 respuestas

La mejor respuesta

W9xpopen.exe es para Windows 95/98, por lo tanto, si no los usa, no los necesitará.

Puede agregar dll_excludes=['w9xpopen.exe'] en su archivo de configuración para py2exe para excluir eso.

Y, por supuesto, no necesitará un archivo de manifiesto si no usa la GUI también.

11
YOU 15 dic. 2009 a las 01:44
  • No se requiere un manifiesto.

  • Y puede excluir w9xpopen.exe (para Win XP y superior)

Para lo que vale, usando py2exe v 0.6.9 para excluir automáticamente w9xpopen tuve que configurar dll_excludes como una opción de py2exe dentro de mi archivo setup.py. Aquí hay un ejemplo para "myapp.py":

from distutils.core import setup
import py2exe, sys, os

sys.argv.append('py2exe')

setup(    
    name = "...",
    version = '1.0',
    description = "...",
    author = "...",
    windows = [{'script': 'myapp.py', 
                'icon_resources': [(1, 'myapp.ico')]
                }],
    zipfile = None,
    data_files=[],
    options = {
        'py2exe': {
            'optimize':2, 
            'bundle_files': 2, 
            'compressed': True, 
            'excludes':[],
            'dll_excludes':['w9xpopen.exe']
            }
        }
)

Para las aplicaciones que ejecutan sans gui, puede usar console=[...] en lugar de windows=[...].

0
Matt Coubrough 30 ene. 2016 a las 21:07

No se requerirá un archivo de manifiesto para las aplicaciones de consola. w9xpopen.exe no es necesario para Win XP y versiones posteriores.

0
Prav 26 ene. 2010 a las 17:06