为什么我无法在Crontab中使用Python 3?

时间:2017-05-26 17:52:57

标签: python python-3.x cron raspberry-pi3

作为一个例子,我在home / pi路径上放置了一个简单的程序进行测试。

我的crontab脚本是

* * * * * /pi/testcron.py

我没有任何结果。我已经尝试了其他脚本 - 这里推荐 - 但没有成功。

我感谢我能得到的任何支持。

3 个答案:

答案 0 :(得分:5)

根据评论,您似乎期望看到$('#ad-01').mouseenter(function() { $("#ad-02").css('display', 'block'); }) $('#btn-close').click(function() { $("#ad-02").css('display', 'none'); }) $('#ad-02').click(function(event) { event.stopPropagation(); }); $('html').click(function() { $("#ad-02").css('display', 'none'); }); 功能的输出。问题是,由于cron在另一个shell /终端中运行脚本,即使它正确运行,你也不会看到print输出。例如,如果您打开两个终端窗口,并在一个窗口中手动运行脚本,则无法在另一个窗口中看到您的打印输出。为了产生持久效果,请使用重定向进行打印输出。这将打开一个新的文件,您可以在cronjob运行后检查它。

正如其他人所说,您可能需要包含python安装的完整路径。常见的sys安装路径为print。所以,你应该这样做:

/usr/bin/python3

最后一部分* * * * * /usr/bin/python3 /home/pi/testcron.py > /home/my_output.txt会将> /home/my_output.txt函数的输出重定向到文件print。 crontab运行后,您应该能够打开文件和/home/my_output.txt命令的输出。

请不要完全按原样复制/粘贴它,并期望它在没有进行一些完整性检查的情况下工作!确保目录正确!例如,print应该是python文件的完整路径。我们只是在猜测您的文件结构,我们不会知道它的样子。

答案 1 :(得分:3)

Cron使用sh shell运行脚本。它不知道你的python配置。在脚本之前放入python的完整路径。

* * * * * /path/to/python3/python/Python-3.6.1/python /home/pi/testcron.py

如果您不了解python路径,请使用which python获取它。

答案 2 :(得分:0)

您的程序位于home / pi中,因此您的Crontab脚本应为(您应输入完整路径)

* * * * *  /**home**/pi/testcron.py

要确定您的完整路径,请在终端中输入 pwd ,然后按Enter。

$pwd
/home/pi