yaoheng52199 2017-06-18 03:38 采纳率: 100%
浏览 2758
已采纳

Linux下用crontab执行定时python任务报错

下面是我写的定时crontab脚本(之前看了网上的博客所以引入环境变量):
20 19 * * * /etc/profile; /usr/bin/env python /home/Users/model_score.py

查看日志说缺少某个包。

但是外部单独执行 /usr/bin/env python /home/Users/model_score.py 是OK的。

网上查看了大量的资料,基本都说报错缺少包是由于crontab中默认的环境变量和外部不一样导致的,但是我按照方法加入了环境变量了还是报错,请问这个问题到底在哪?哪位大神指点下?谢谢!

  • 写回答

3条回答 默认 最新

  • yaoheng52199 2017-06-19 01:48
    关注

    问题找了,还是自己回答自己吧,最终的代码张这样:
    38 9 * * * /home/u_jrd_lv1/anaconda2/bin/python /home/u_jrd_lv1/Users/hank.yao/M1_M2_model/model_score.py >> /home/u_jrd_lv1/Users/hank.yao/M1_M2_model/cron2.log 2>&1

    有个关键的地方,虽然在外部执行 python /home/u_jrd_lv1/Users/hank.yao/M1_M2_model/model_score.py

    没问题,但是写到crontab中时python要写全路径,而且必须先查明这个python到底被安装在哪里了!!用which python来查看,我被坑是因为linux系统上好几个不同版本的python,我想当然的以为python是安装在/usr/bin/env中的第一个默认位置,其实不是,linux系统往往自带一个老的python版本,所以一般会重新安装一个新的,所以/usr/bin/env这个位置是不对的,里面不会有后加入的lib。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?