在cron jobs(Python)中,-m标志代表什么以及它是如何使用的?

时间:2015-03-26 22:12:47

标签: python module cron

我正在尝试设置一个正在执行我的python文件的cron作业。 python文件使用一些手动安装的模块。 cron作业现在抛出一个错误,因为它“无法找到”指定的模块(是的,我测试过它:如果手动执行脚本确实有效并且可以访问模块)。

我现在收到了神秘的信息(从主持人的支持)到'尝试在命令中添加-m标志,然后是无法找到的模块的路径。'不幸的是我不太明白这个建议。

假设我的cron作业命令(通过Cpanel )开箱即用:

0 * * * * python /home/public_html/cgi-bin/cronrun.py

如果python脚本不依赖外部模块,则可以正常工作。

所以我的问题是:

  • -m标志是否合适?
  • 如果是,我该如何使用它?
  • 如果脚本需要的不仅仅是一个额外的模块,我该怎么办?

非常感谢你!

1 个答案:

答案 0 :(得分:0)

您的cron作业不太可能与您拥有的环境相同。要看到这一点,首先运行env> [somepath_that_you_can_reach]。然后设置一个cron,使用不同的路径在shell脚本中执行相同的操作。比较两者。您将需要您的PYTHONPATH与cron作业相同。如果这是问题,那么在你的python脚本中:

import sys
sys.path.append('[the path part that you need for it to work]')

在导入语句之前。