3 votos

Incluyendo las dependencias de Python script (contenido del virtualenv) en Platypus

Estoy intentando convertir un script de Python en una App para OS X que se pueda ejecutar directamente desde Finder. Estoy probando Ornitorrinco que parecía la opción más sencilla. El problema que me encuentro es con los paquetes que estoy incluyendo en el script. Los he instalado a través de pip en un virtualenv. Me pregunto cuál es la mejor manera de incluir esos archivos en el paquete de Platypus. Sé que podría copiarlos en el mismo directorio e incluirlos en el paquete de Platypus, pero preferiría hacer algo más limpio como incluir el virtualenv, aunque parece que entonces tendría que ser instalado por los usuarios de la aplicación.

También me encontré con py2app que parece ser capaz de lograr algo similar a Platypus, pero su documentación es algo oscura.

7voto

hegemon Puntos 1979

La forma en que he resuelto esto en el pasado es agrupando el contenido del virtualenv en Platypus y luego activar el intérprete de Python incluido con un script.

Aquí tienes una captura de pantalla de la interfaz de Platypus para que veas lo que quiero decir:

Platypus window setup

Verás que he agrupado todo el venv (que se creó con el programa virtualenv ), y mi script, my_app.py .

El script que realmente le estoy diciendo a Platypus que ejecute, run.sh es un shell script con el siguiente contenido:

#!/bin/sh

"$PWD/venv/bin/python" my_app.py "$@"

Todo lo que hace este script es utilizar el python binario en el venv para ejecutar el script incluido. El "$@" está ahí para pasar cualquier argumento a run.sh directamente en my_app.py sin cambiarlos.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X