2012-05-10 80 views
14

Necesito crear un instalador para Windows que debería poder instalar una versión específica del intérprete de Python (2.7) más un conjunto de dependencias como ipython, numpy, pandas , etc.Crear un instalador de Windows para Python + un conjunto de dependencias

Básicamente, esto es lo mismo que Active State hizo por su distribución de Active Python: un solo paquete que incluye intérprete + deps.

Al no ser usuario de Windows, no estoy seguro de por dónde empezar, excepto tal vez al buscar en NSIS (¿podría ser de alguna ayuda?).

+1

AFAIK, la idea es usar 'py2exe' o' cx_freeze' para hacer un ejecutable y usar NSIS o Inno Setup para hacer un instalador. Pero nunca lo intenté. – KurzedMetal

+1

¿No se pretende que py2exe "congele" una aplicación específica de Python convirtiéndola en un exe? El objetivo aquí es crear un instalador incluido, incluido Python iterpreter + un conjunto de módulos de terceros. –

+0

Eso es lo que hace "congelar", agrupar un ejecutable/dll de python y los módulos usados ​​en un paquete '.exe'. La única diferencia es que en realidad no instala Python en todo el sistema y no rompe nada o falla – KurzedMetal

Respuesta

0

Si desea empaquetar una versión predeterminada de python y algunas dependencias, sugeriría, utilizando NSIS y AutoIt.

NSIS se puede utilizar para incrustar otro instalador, pero en el caso específico de los módulos de python, algunos de sus instaladores no se pueden utilizar en modo desatendido. Para eludir este problema, AutoIt puede usarse para simular pulsaciones de teclas.

Para obtener más información sobre la incorporación de otro instalador de NSIS: http://nsis.sourceforge.net/Embedding_other_installers

AutoIT sitio web: http://www.autoitscript.com/site/

7

Es mejor utilizar la herramienta de empaquetado que también utilizo para construir los comunicados de Python, que está en Tools/msi/msi.py. Desempaque las dependencias adicionales en la parte superior de la fuente de Python (o una instalación), luego ajuste msi.py para recoger todos los archivos adicionales que desee empaquetar. Debe ajustar las cadenas de visualización para indicar que esta es realmente una distribución de Python separada.

3

Para Windows hay pynsist. Utiliza NSIS internamente y agrupa Python para que no tenga que hacerlo. Viene con ejemplos útiles, por ejemplo, creating an installer for a PyGTK application.

Descargo de responsabilidad: No he intentado Pynsist todavía, pero lo haré pronto.

Cuestiones relacionadas