为什么我不能在 Crontab 中使用 Python 3?
Why am I not able to use Python 3 in a Crontab?
例如,我在路径 home/pi 上放置了一个简单的程序进行测试。
我的 crontab 脚本是
* * * * * /pi/testcron.py
我还没有得到任何结果。我尝试了其他脚本 - 此处推荐 - 但没有成功。
感谢我能得到的任何支持。
Cron 使用 sh
shell 运行脚本。它不知道您的 python 配置。在您的脚本之前放置 python 的完整路径。
* * * * * /path/to/python3/python/Python-3.6.1/python /home/pi/testcron.py
如果您不知道 python 路径,请使用 which python
获取它。
根据评论,您似乎希望看到 print
函数的输出。问题是,由于 cron 运行ning 另一个 shell/terminal 中的脚本,你不会看到 print
输出,即使它 运行ning 正确。例如,如果您打开两个终端 windows,并且在一个 window 中手动 运行 您的脚本,您将不会在另一个中看到您的打印输出。为了留下持久的效果,对打印输出使用重定向。这将打开一个新文件,您可以在 cronjob 运行.
后检查该文件
正如其他人所说,您可能需要包含 python 安装的完整路径。常见的 sys 安装路径是 /usr/bin/python3
。所以,你应该这样做:
* * * * * /usr/bin/python3 /home/pi/testcron.py > /home/my_output.txt
最后一部分 > /home/my_output.txt
会将 print
函数的输出重定向到文件 /home/my_output.txt
。在 crontab 运行s 之后,您应该能够打开文件和 print
命令的输出。
请不要 copy/paste 这完全是原样,并期望它在不进行完整性检查的情况下工作!确保目录正确! 例如,/home/pi/testcron.py
应该是 python 文件的完整路径。我们只是在猜测您的文件结构,我们不知道它长什么样。
你的程序位于home/pi,所以你的Crontab脚本应该是(你应该输入完整路径)
* * * * * /**home**/pi/testcron.py
要确定您的完整路径,请在终端中输入 pwd 并按回车键。
$pwd
/home/pi
例如,我在路径 home/pi 上放置了一个简单的程序进行测试。
我的 crontab 脚本是
* * * * * /pi/testcron.py
我还没有得到任何结果。我尝试了其他脚本 - 此处推荐 - 但没有成功。
感谢我能得到的任何支持。
Cron 使用 sh
shell 运行脚本。它不知道您的 python 配置。在您的脚本之前放置 python 的完整路径。
* * * * * /path/to/python3/python/Python-3.6.1/python /home/pi/testcron.py
如果您不知道 python 路径,请使用 which python
获取它。
根据评论,您似乎希望看到 print
函数的输出。问题是,由于 cron 运行ning 另一个 shell/terminal 中的脚本,你不会看到 print
输出,即使它 运行ning 正确。例如,如果您打开两个终端 windows,并且在一个 window 中手动 运行 您的脚本,您将不会在另一个中看到您的打印输出。为了留下持久的效果,对打印输出使用重定向。这将打开一个新文件,您可以在 cronjob 运行.
正如其他人所说,您可能需要包含 python 安装的完整路径。常见的 sys 安装路径是 /usr/bin/python3
。所以,你应该这样做:
* * * * * /usr/bin/python3 /home/pi/testcron.py > /home/my_output.txt
最后一部分 > /home/my_output.txt
会将 print
函数的输出重定向到文件 /home/my_output.txt
。在 crontab 运行s 之后,您应该能够打开文件和 print
命令的输出。
请不要 copy/paste 这完全是原样,并期望它在不进行完整性检查的情况下工作!确保目录正确! 例如,/home/pi/testcron.py
应该是 python 文件的完整路径。我们只是在猜测您的文件结构,我们不知道它长什么样。
你的程序位于home/pi,所以你的Crontab脚本应该是(你应该输入完整路径)
* * * * * /**home**/pi/testcron.py
要确定您的完整路径,请在终端中输入 pwd 并按回车键。
$pwd
/home/pi