2009-12-15 4 views
10

Estoy usando Py2exe para compilar un servidor CherryPy (3.1) usando Python 2.6 (32 bits) en Windows 7 Pro (64 bits).Py2exe: ¿Se requieren archivos manifiestos y w9xpopen.exe al compilar un servidor web sin interfaz GUI?

Este servidor se ejecutará sin una GUI.

Preguntas:

  1. ¿Es necesario que preocuparse acerca de cómo agregar un archivo de manifiesto para esta aplicación si se queda sin una interfaz gráfica de usuario?

  2. ¿Debo incluir w9xpopen.exe con mi código abierto?

Hasta ahora, mi prueba limitada ha indicado que no necesito para incluir un archivo de manifiesto o w9xpopen.exe con mi ejecutable con el fin de que funcione.

Comentarios apreciados.

Gracias, Malcolm

Respuesta

10

w9xpopen.exe es para Windows 95/98, así que si usted no utiliza los que no lo necesita.

Puede agregar dll_excludes=['w9xpopen.exe'] en su archivo de instalación para que py2exe excluya eso.

y, por supuesto, no necesitará el archivo de manifiesto si no utiliza la GUI también.

+0

Tenía la impresión de que también se requiere un archivo de manifiesto con Python 2.6 para que el exe encuentre sus archivos de tiempo de ejecución MSVC * .DLL. Si entiendo tu comentario correctamente, este no es el caso porque el archivo de manifiesto solo es necesario para aplicaciones GUI, no para aplicaciones de consola. ¿Es esto correcto? ¡Gracias! - Malcolm – Malcolm

+1

Estoy construyendo un [ejecutable de archivo único] (http://stackoverflow.com/a/113014/1497596), y aunque he incorporado la directiva 'dll_excludes []' en mi 'setup.py', el el archivo 'w9xpopen.exe' todavía se está agregando a mi directorio' dist'. (Reconozco sin embargo que 'w9xpopen.exe' no es necesario para ejecutar mi ejecutable de archivo único generado en Windows 7.) – DavidRR

0

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

0
  • Un manifiesto no debería ser necesaria.

  • Y puede excluir w9xpopen.exe (para Windows XP y superiores)

Por lo que vale la pena, usando py2exe v 0.6.9 para excluir automáticamente w9xpopen tuviera que establecer dll_excludes como una opción py2exe dentro de mi archivo setup.py He aquí un ejemplo de "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 aplicaciones en ejecución sans interfaz gráfica de usuario, se puede utilizar en lugar de console=[...]windows=[...].

Cuestiones relacionadas