2016-07-26 24 views
1

我创建了python库。为了避免安装可执行的Python脚本,我允许库模块作为可执行文件工作。可以使用-m opion(python -m)作为脚本运行模块。 手动一切正常:由cron运行库模块作为脚本(python -m)

$ python -m Library.Core.Runner runFirst 

但是,当我尝试使用cron运行此它不起作用:在/ var /日志/ cron的

*/5 * * * * /usr/bin/python -m Library.Core.Runner runFirst >> /var/log/MyProject/runFirst.log 2>&1 

输出:

Jul 26 18:25:01 myhostname crond[23735]: (/usr/bin/python) ERROR (getpwnam() failed) 

如何我可以修复它吗?

环境:CentOS的7,Python的2.7.5

+0

把'如果__name__ == “__main __”:'你库和下面调用你想要运行的函数 –

+0

实际上是这样。内部亚军我有:进口,方法的定义,主的定义,和'if __name__ ==“__main__”:main()' – Gavelock

回答

2

添加用户名,让的cron代为运行任务:

*/5 * * * * <username> /usr/bin/python -m Library.Core.Runner runFirst >> /var/log/MyProject/runFirst.log 2>&1 
*/5 * * * * igor /usr/bin/python -m Library.Core.Runner runFirst >> /var/log/MyProject/runFirst.log 2>&1 
+1

在我的情况下,这是我不得不运行cron的用户,否则我是得到错误:(python)错误(getpwnam()失败) –