Ho uno script di Python 3 che vorrei aggiungere come servizio usando Automator. L'idea è che posso fare clic con il pulsante destro su un file di testo e verrà visualizzata un'opzione per eseguire il mio script su detto file.
Lo shebang per il mio script Python è il seguente:
#!/usr/bin/env python3
Questo script funziona bene e come previsto in Terminal. Tuttavia, quando tento di automatizzarlo con AppleScript / Automator in questo modo:
on run {input, parameters}
tell application "Terminal"
do shell script "/path/to/script.py $@"
end tell
return input
end run
Mi imbatto in problemi, in particolare:
Terminal got an error: env: python3: No such file or directory
Ho letto qui , tra l'altro, che AppleScript è stato progettato solo consente l'accesso ai comandi Unix e, ad esempio, non fornirà il proprio profilo bash (quindi non abbiamo accesso al nostro $ PATH per impostazione predefinita). Tuttavia avevo l'impressione che fornire percorsi espliciti fosse una soluzione.
Ho provato a cambiare do shell
con questo:
do shell script "/usr/bin/python3 /path/to/script.py $@"
e ho provato a cambiare lo shebang con questo:
#!/usr/bin/env /usr/bin/python3
Ma niente sembra funzionare. Semplicemente non è possibile eseguire uno script Python 3 tramite AppleScript? Non sono stato in grado di trovare una valida soluzione alternativa nelle mie ricerche.
Modifica: informazioni aggiuntive:
$ type -a python3
python3 is /usr/local/bin/python3