Crontab使用不正确的Python版本运行脚本
问题描述:
crontab使用2.6版运行需要运行2.7的脚本。如何将Python的默认版本永久设置为2.7? 运行./file.py正常工作,它只是当它通过运行crontabCrontab使用不正确的Python版本运行脚本
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
*,30 * * * * root /root/file.py >>/tmp/log.txt 2>&1
编辑 问题解决
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin/python
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
*,30 * * * * root /usr/local/bin/python2.7 /root/file.py >>/tmp/log.txt 2>&1
答
如果您已经安装了2.7,你可以找一个Python的独立版本它whereis python
我有CentOS 6的附带2.6在默认情况下,所以这个命令返回:
python2: /usr/bin/python2.6 /usr/bin/python2.6-config /usr/bin/python2 /usr/lib/python2.6 /usr/lib64/python2.6 /usr/local/bin/python2.7-config /usr/local/bin/python2.7 /usr/local/lib/python2.7 /usr/include/python2.6
这些/usr/local/bin/python2.7
的是一个我很感兴趣,所以当我把在crontab中工作,我选择它明确:
30 00 * * * /usr/local/bin/python2.7 /home/mike/job.py
+0
完整路径修复它,谢谢。 – NeonLights86
你的环境是否安装了python 2.7? – Pradheep
是的,我可以运行./file.py罚款只是当它运行通过crontab它的问题 – NeonLights86
其中python2.7安装? –