Includere le dipendenze dello script Python (contenuto virtualenv) in Platypus

2

Sto provando a trasformare uno script python in un'app di OS X che puoi eseguire direttamente da Finder. Sto provando Platypus , che mi è sembrata l'opzione più semplice. Il problema che sto incontrando è con i pacchetti che sto includendo nello script. Li ho installati tramite pip in un virtualenv. Chiedere quale sarebbe il modo migliore / più appropriato per includere quei file nel pacchetto Platypus. So che potrei semplicemente copiarli nella stessa directory e includerli nel pacchetto Platypus, ma preferirei fare qualcosa di più pulito come includere il virtualenv, anche se sembra che dovrebbe essere installato dagli utenti dell'app.

Ho anche eseguito py2app che sembra essere in grado di ottenere qualcosa di simile a Platypus, ma la loro documentazione è alquanto oscura.

    
posta Andres 06.12.2014 - 01:25
fonte

1 risposta

4

Il modo in cui ho risolto questo problema è nel passato raggruppando il contenuto della directory virtualenv in Platypus e poi attivando l'interprete Python in bundle con uno script.

Ecco uno screencap dell'interfaccia Platypus per mostrarti cosa intendo:

Noteraichehoraggruppatol'interadirectoryvenv(cheèstatacreataconilcomandovirtualenv)eilmioscriptPython,my_app.py.

LoscriptchestoeffettivamentedicendoaPlatypusdieseguire,run.sh,èunoscriptdishellconiseguenticontenuti:

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

Tutto ciò che fa questo script è usare il python binario nella directory venv per eseguire lo script Python in bundle. Il "$@" è lì per passare qualsiasi argomento a run.sh direttamente in my_app.py senza cambiarli.

    
risposta data 09.02.2015 - 22:05
fonte

Leggi altre domande sui tag