2011-04-27 5 views
9

puedo configurar el directorio de dist final del py2exe usando la línea de comandos:¿Hay una manera de especificar el directorio de construcción para py2exe

python setup.py py2exe -d "my/dist/dir" 

pero me parece que no puede establecer el archivo a utilizar para el ínterin build directorio. He echado un vistazo breve a la fuente, pero a menos que me esté perdiendo algo, no parece haber forma de hacerlo.

Respuesta

8

Cualquier opción que pueda establecer en la línea de comandos puede establecer a través de un archivo setup.cfg o en su archivo setup.py.

-d es un acceso directo para --dist-dir que se pueden agregar a la dict py2xe en el diccionario pasado a la palabra clave opciones de parámetro de configuración como 'dist_dir':

from distutils.core import setup 
import py2exe 

# equivalent command line with options is: 
# python setup.py py2exe --compressed --bundle-files=2 --dist-dir="my/dist/dir" --dll-excludes="w9xpopen.exe" 
options = {'py2exe': { 
      'compressed':1, 
      'bundle_files': 2, 
      'dist_dir': "my/dist/dir" 
      'dll_excludes': ['w9xpopen.exe'] 
      }} 
setup(console=['myscript.py'], options=options) 

También puede poner setup.cfg al lado de su setup.py archivo:

[py2exe] 
compressed=1 
bundle_files=2 
dist_dir=my/dist/dir 
dll_excludes=w9xpopen.exe 

el directorio de construcción (--build-base) es una opción del comando de construcción para que pueda agregar a uno de los archivos de configuración (o el setup.py) como:

[build] 
build_base=my/build/dir 
+0

Esto no funciona completamente sin embargo. Puedo especificar el directorio 'dist' tal como sugieres, pero' py2exe' también usa un directorio 'build' intermedio que no puedo cambiar. – Casey

+1

Vaya. Se perdió la parte del directorio de compilación :) – lambacck

+0

No hay problema. De hecho, me he metido en la fuente py2exe y podría hacer algunas modificaciones aquí. Cuando tengo unas horas extra. – Casey

0

Se metió en el mismo problema que Casey. Tenemos un sistema de compilación que me gustaría cumplir con al generar un .exe con py2exe.

Sin embargo, no creo que la respuesta de lambacck funcione. 'build_base' no es una opción de py2exe

Para demostrar que se ejecute lo siguiente: pitón setup.py --help py2exe

Esto debe enumerar todas las opciones para py2exe. 'build_base' no aparece en la lista.

estoy usando py2exe 0.6.9

Podría estar equivocado, pero suena como si alguien necesita enviar un parche para el que mantiene este proyecto. Es en SourceForge y no ha habido contacto desde 2008.

+1

ver la respuesta de vostok4, funciona – ecoe

6

Para aclarar sobre la respuesta de lambacck, esto funciona en la última py2exe vainilla:

options = {'build': {'build_base': 'my/build/dir'}, 
      'py2exe': { 
      'compressed':1, 
      'bundle_files': 2, 
      'dist_dir': "my/dist/dir" 
      'dll_excludes': ['w9xpopen.exe'] 
      }} 
Cuestiones relacionadas