我有一个python程序,需要在一个月的特定日期运行,因此我正在使用crontab来完成此任务,并创建了一个shell脚本来运行此python程序。
这是我的shell脚本的一部分:
#!/bin/bash
filepath='file2018'
cd ${filepath}
python3 file.py
当我运行执行shell脚本的crontab时,日志文件显示以下错误:
line 9: python3: command not found
我真的很困惑为什么会发生此错误,因为我已经安装了python3,并且可以直接从命令行运行python3。
此外,如果我将python3替换为python,则shell脚本会起作用!我的python版本是python2,但是此程序必须使用python3,因此我必须使用python3而不是python。
我的操作系统是Linux CentOS。
希望有人可以给我一些提示!
答案 0 :(得分:2)
在file.py中添加第一行,如下所示,并向file.py文件添加+ x权限
#!/usr/bin/python3
它将自动执行,无需在脚本中提及python3 使用“哪个python3”命令知道您机器中python3的确切路径
答案 1 :(得分:1)
您可以提供python3
可执行文件的完整路径。您可以使用which python3
命令来获取它。试试吧。