Tengo un script de Python 3 que me gustaría agregar como un servicio usando Automator. La idea es que puedo hacer clic con el botón derecho en un archivo de texto y se mostrará una opción para ejecutar mi script en dicho archivo.
El script de shebang para mi Python es el siguiente:
#!/usr/bin/env python3
Este script funciona bien y como se espera 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 solo tiene un diseño permite el acceso a los comandos de Unix y, por ejemplo, no generará su perfil de bash (por lo tanto, no tenemos acceso a nuestro $ PATH de manera predeterminada). Sin embargo, tenía la impresión de que proporcionar rutas explícitas era una solución alternativa.
He intentado cambiar el do shell
a esto:
do shell script "/usr/bin/python3 /path/to/script.py $@"
y he intentado cambiar el shebang a esto:
#!/usr/bin/env /usr/bin/python3
Pero nada parece funcionar. ¿Simplemente no es posible ejecutar un script de Python 3 a través de AppleScript? No he podido encontrar una solución viable en mis búsquedas.
Editar: Información adicional:
$ type -a python3
python3 is /usr/local/bin/python3