我用Spyder作为Anaconda中的IDE编写了我的第一个python脚本。好极了!该脚本从谷歌财务中提取数据并通过电子邮件发送给我。在Spyder内部运行时,它可以正常工作。
现在我想……
首先检查你的脚本是否包含python shebang。
#!/usr/local/bin/python
上面将是你的python环境的路径,这将运行正常或更改你的cron语法,并告诉它调用python来运行你的文件和
使用您的文件的完整路径,例如/ home / users / .....
15 12 * * * python users/paul/desktop/pythonscript.py
您需要在Cron中指定PATH变量并确保其中包含python3。 (从你的评论看起来你正在使用python3,确保你知道你是否使用2或3,只需输入python通常默认为python 2)你可以使用以下方式进行正常编辑:
crontab -e
然后在调用作业之前添加python的完整路径。编辑:此路径需要是您的anaconda环境python的路径(以避免系统上其他版本的python之间的兼容性问题)。
PATH=path/to/anaconda/env/bin #you need to look this up 15 12 * * * python3 users/paul/desktop/pythonscript.py
看到 如何让CRON调用正确的PATH
如果你没有在PATH中包含包含anaconda环境python3的文件夹,它将不会像在spyder中那样运行。如果你想知道aaconda版本的python在bash中的类型:
conda info --envs conda env list #or you could try this
如果你的命令包含你的anaconda环境python的调用,那么你不需要shebang pythonscript.py。如果你不想在crontab的命令中包含对python的调用,那么在第一行的python脚本中包含shebang。
这些可能很有用: 使用annaconda env运行crontab作业 (见那里的第二个答案)
https://conda.io/docs/user-guide/tasks/manage-environments.html (管理conda环境的指南)