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

2

Estoy tratando de convertir un script de python en una aplicación OS X que puedes ejecutar directamente desde el Finder. Estoy probando Platypus , que parecía la opción más sencilla. El problema que estoy encontrando es con los paquetes que estoy incluyendo en el script. Los instalé a través de pip en un virtualenv. Me pregunto cuál sería la mejor forma 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 los usuarios de la aplicación deberían instalarlo.

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

pregunta Andres 06.12.2014 - 01:25

1 respuesta

4

La forma en que he resuelto esto en el pasado es mediante la agrupación de los contenidos del directorio virtualenv en Platypus y luego la activación del intérprete de Python incluido con un script.

Aquí hay una captura de pantalla de la interfaz de Platypus para mostrarte lo que quiero decir:

Notarásqueheempaquetadotodoeldirectoriovenv(quesecreóconelcomandovirtualenv)ymiscriptdePython,my_app.py.

ElscriptqueenrealidadleestoydiciendoaPlatypusqueejecute,run.sh,esunscriptdeshellconelsiguientecontenido:

#!/bin/sh"$PWD/venv/bin/python" my_app.py "$@"

Todo lo que hace esta secuencia de comandos es usar el binario python en el directorio venv para ejecutar la secuencia de comandos de Python. El "$@" está ahí para pasar cualquier argumento a run.sh directamente a my_app.py sin cambiarlos.

    
respondido por el Jen Garcia 09.02.2015 - 22:05

Lea otras preguntas en las etiquetas