[Python] Da .py a .app sul mac.

Simone Federici s.federici a gmail.com
Sab 20 Set 2014 22:04:47 CEST


Gabriele Battaglia:

> Vado nel finder, lo localizzo, apro il menu contestuale, scelgo la voce
> “Apri con..”, quindi seleziono “Build Applet.app”, che dovrebbe convertirlo
> in una applicazione eseguibile.
>
La sposto nella cartella /Application, dove stanno tutte le altre apps del
> mac, quindi tento di eseguirla aspettandomi l’output del mio script.
> Invece non appare la finestra del terminale, ne alcun altro risultato.
>

Probabile che lo script venga eseguito ma che lo standard output si perda.

Quando usi il terminale tutti i suoi sottoprocessi (i programmi che avvii,
in questo caso python) vengono agganciati automaticamente al terminale
stesso (sia lo stdout che lo stderr), ma quando il terminale non c'è il
processo eredita lo stesso stdout e stderr del processo padre, ossia del
Windows Manager di Mac Osx. Magari trovi il tuo output in un file di log da
qualche parte.

Potresti scrivere la parte grafica, oppure fare in modo che lo script
scriva su un file output.log se non gira da terminale.

tramite sys.stdout.isatty() puoi controllare se lo script gira da terminale
oppure no, nel secondo caso puoi impostare il file di destinazione
sys.stdout = open('output.log', 'w')

Spero di non aver detto una stupidaggine, non ho mai usato "Build
Applet.app". Ho imparato qualcosa di nuovo, grazie.

"build applet" mi sembra comunque pensato per creare applicazioni scritte
con PyQt, wxPython o comunque che aprano una finestra.

buona fortuna
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20140920/c12de617/attachment.html>


Maggiori informazioni sulla lista Python