0 votos

LaunchAgents ejecuta Python script en la versión 2

Tal vez alguien pueda explicar esto. Estoy haciendo que LaunchAgents ejecute un script al inicio. La parte relevante del plist se ve así:

<key>ProgramArguments</key>
<array>
    <string>python</string>
    <string>/Volumes/path to script

Esto lanza el script en python2, a pesar de que "Python" apunta a python3:

/usr/local/bin/python -> /Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8

que da error porque launchd está ejecutando un python3 script en python2. Para solucionarlo tuve que especificar python3:

<key>ProgramArguments</key>
<array>
    <string>python3</string>
    <string>/Volumes/

¿Estoy haciendo esto bien? ¿Está python2 codificado en alguna parte de launchd? ¿Hay alguna razón por la que todavía tenga que especificar python3?

1voto

benwiggy Puntos 8

Como se menciona en los comentarios, puede utilizar rutas completas en el XML, por ejemplo

<string>/usr/local/bin/python</string>

launchd no es consciente de las variables de entorno, como $ PATH a menos que se establezca explícitamente en el XML, por lo que python sería por defecto /usr/bin/python .

https://serverfault.com/questions/111391/use-an-environment-variable-in-a-launchd-script

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X