2008-09-22 5 views
24

Quiero crear una aplicación mac osx del paquete python y luego ponerlo en una imagen de disco.¿Cómo se crea una aplicación osx/dmg desde un paquete python?

Porque cargo algunos recursos del paquete, el paquete debe no residir en un archivo zip.

La imagen de disco resultante debe mostrar la imagen de fondo para "arrastrar aquí -> aplicaciones" para la instalación.

+2

quien sea que vote esto ... ¿le importa decir una razón? –

Respuesta

8

No conozco la forma correcta de hacerlo, pero este método manual es el enfoque que he usado para los scripts simples que parecen haberse completado adecuadamente.

Vamos a suponer que cualquier directorio en que estoy, los archivos de Python para mi programa están en el directorio relativo src/, y que el archivo que desea ejecutar (que tiene el tinglado adecuada y permisos de ejecución) se nombra main.py .

 
$ mkdir -p MyApplication.app/Contents/MacOS 
$ mv src/* MyApplication.app/Contents/MacOS 
$ cd MyApplication.app/Contents/MacOS 
$ mv main.py MyApplication 

En este punto, tenemos un paquete de aplicaciones que, por lo que sé, debería funcionar en cualquier sistema Mac OS con Python instalado (que creo que tiene por defecto). No tiene un ícono ni nada que requiera agregar más metadatos al paquete que no es necesario para mis propósitos y con los que no estoy familiarizado.

Crear el instalador de arrastrar y soltar es bastante simple. Use Disk Utility para crear una nueva imagen de disco de aproximadamente el tamaño que necesita para almacenar su aplicación. Ábrelo, copie su aplicación y un alias de /Applications en el disco, luego use View Options para colocarlos como desee.

El mensaje de arrastrar y soltar es solo un fondo de la imagen del disco, que también puede especificar en Opciones de visualización. No lo he hecho antes, pero supongo que después de que haya creado una imagen en el editor de su elección, podría copiarla, configurarla como fondo y luego usar chflags hidden para evitar que abarrote su agradable ventana.

Sé que estas no son las instrucciones más claras, simples o más detalladas que existen, pero espero que alguien las pueda encontrar útiles.

Cuestiones relacionadas