Tengo un script que me gustaría añadir como Servicio usando Automator. La idea es que pueda hacer clic con el botón derecho del ratón en un archivo de texto, y que aparezca una opción para ejecutar mi script en dicho archivo.
El shebang de mi script de Python es el siguiente:
#!/usr/bin/env python3
Este script funciona bien y como se esperaba en Terminal. Sin embargo, cuando intento automatizar esto con AppleScript/Automator así:
on run {input, parameters}
tell application "Terminal"
do shell script "/path/to/script.py $@"
end tell
return input
end run
Me encuentro con problemas, a saber:
Terminal got an error: env: python3: No such file or directory
He leído aquí entre otros lugares, que AppleScript, por diseño, sólo permite el acceso a los comandos de Unix, y que, por ejemplo, no se abastecerá de tu perfil de bash (por lo que no tenemos acceso a nuestro $PATH por defecto). Sin embargo, tenía la impresión de que proporcionar rutas explícitas era una solución.
He probado a cambiar el do shell
a esto:
do shell script "/usr/bin/python3 /path/to/script.py $@"
y he probado a cambiar el tinglado por esto:
#!/usr/bin/env /usr/bin/python3
Pero nada parece funcionar. ¿Simplemente no es posible ejecutar un script a través de AppleScript? No he sido capaz de encontrar una solución viable en mis búsquedas.
Editar: Información adicional:
$ type -a python3
python3 is /usr/local/bin/python3