1 votos

¿Cómo utilizar macports Python en una tarea cron?

He instalado Python 2.7 a través de los puertos de mac, y ahora quiero que se utilice en un trabajo cron. Desafortunadamente, cada vez que el trabajo cron se involucra, el Python estándar de mi máquina (un iBook G4 usando Tiger) que es 2.3 se involucra, haciendo que mi trabajo falle.

Mi PATH es (desde el set mando)

PATH=/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin

P

¿Cómo puedo hacer que mi trabajo cron sea invocado con mi PATH en lugar del defectuoso?

0 votos

Simplemente inicie la tarea de Python con la ruta completa a Python en el trabajo cron, es decir, /opt/local/bin/Python - A menos que tenga dependencias complejas, esto no debería requerir cambios de ruta

1voto

klanomath Puntos 19587

El resultado de la variable PATH es bastante diferente en el cron mundo. Invoca el script con la ruta completa del Python binario (por ejemplo, /opt/local/bin/python2.7) y deberías estar bien.

Esto puede examinarse ejecutando env como cronjob y comparándolo con el resultado de ejecutar env como tú mismo en la Terminal:

Entorno cron del usuario:

PATH=/usr/bin:/bin:/usr/sbin:/sbin
...
SHELL=/bin/bash
HOME=/Users/user
USER=user
PWD=/
...

en comparación con el entorno del usuario:

PATH=/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
...
SHELL=/bin/bash
HOME=/Users/user
USER=user
PWD=/Users/user
...

También puede añadir el PATH al crontab:

sudo nano /var/cron/tabs/user

En los sistemas más nuevos (probablemente 10.6):

sudo nano /private/var/at/tabs/user

Cambiar

...

*       *       *       *       *       some command

a

...
PATH=/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

*       *       *       *       *       some command

0 votos

Por supuesto, puede cambiar el valor de PATH en su crontab.

0 votos

Acabo de configurar la máquina WAYBAC a 10.4, encontrarás crontabs en /etc/crontab.

0 votos

@fd0 Gracias por esto. Mi VM smorgasbord sólo incluye 10.6 y más reciente...

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