使用crontab每天在固定时间运行python脚本

使用crontab每天在固定时间运行python脚本,python,python-3.x,crontab,Python,Python 3.x,Crontab,首先,我已经尝试了这个网站和其他网站上建议的每一种方法,但我仍然无法让它发挥作用。 我的python脚本位于我的主文件夹中。它导入诸如请求、时间和其他第三方模块之类的模块。它可以与命令行配合使用。 但它不适用于crontab。我认为问题在于,当它从cron运行时,导入不起作用,脚本失败。 crontab: PATH=/sbin:/bin:/usr/sbin:/usr/bin SHELL=/bin/bash PYTHONPATH=/home/chanzerre:/usr/lib64/python3

首先,我已经尝试了这个网站和其他网站上建议的每一种方法,但我仍然无法让它发挥作用。 我的python脚本位于我的主文件夹中。它导入诸如请求、时间和其他第三方模块之类的模块。它可以与命令行配合使用。 但它不适用于crontab。我认为问题在于,当它从cron运行时,导入不起作用,脚本失败。 crontab:

PATH=/sbin:/bin:/usr/sbin:/usr/bin
SHELL=/bin/bash
PYTHONPATH=/home/chanzerre:/usr/lib64/python35.zip:/usr/lib64/python3.5:/usr/lib64/python3.5/plat-linux:/usr/lib64/python3.5/lib-dynload:/usr/lib64/python3.5/site-packages:/usr/lib/python3.5/site-packages
* * * * * /home/chanzerre/script.py
我的Python脚本的结构:

#! /usr/bin/python3.5
import requests as req
import time
from pprint import pprint
# third party imports here

#code here
有人能帮忙吗? 如有需要,将提供更多细节

附言。
请不要将其标记为dupe,因为我已经尝试了其他人提出的类似问题中建议的所有方法,并且出于我一生的热爱,它仍然不起作用。

您是否尝试过将您的
script.py
作为可执行文件?仅键入Python文件的路径不会运行脚本。您需要向文件中添加一个shebang:

#!/usr/bin/python
然后使其可执行:

$ mv /home/chanzerre/script.py /home/chanzerre/script
$ chmod +x /home/chanzerre/script
然后你的crontab就变成了

* * * * * /home/chanzerre/script

试试看它是否运行您的文件。

您是否设置了脚本运行所需的所有环境变量?例如,如果您在代理服务器后面运行该脚本,并且未设置代理变量,则该脚本将不起作用。
在crontab或python脚本本身中设置代理变量,它就会工作。

显示crontabstatement@joelgoldstick我编辑了这个问题。你有没有试过让文件中的代码做一些非常简单的事情?比如将
“ran crontab”
写入主目录中的文件?我想我只是想知道它是否曾经起过作用,或者有什么证据可以证明它确实起了作用。例如,
print('hello')
在导入之前工作;进口请求;[更多进口];打印(“结束”)?它只打印hello,之后什么也不打印。您是如何安装这些库的?我想知道您是否安装了与当前脚本的shebang中的python可执行文件不同的python可执行文件。
哪个python
显示了什么?