Crontab运行使用虚拟环境的python脚本

时间:2018-08-30 23:51:31

标签: cron miniconda

当前,我有一个使用名为myenv的虚拟环境的python脚本。在终端中运行脚本的命令如下:

cd env && source activate env && bin/env-dev python ~/Documents/test/ingest.py

当我尝试在crontab中进行设置时,出现“找不到命令”错误。 在cron标签中,我尝试了几种不同的选项:

1)使用bash(最后一步是将错误写入文本文件)。实际上,这对文件路径中不需要源代码激活myenv的其他脚本有效。所以当我在源代码中添加激活myenv时存在问题。

* * * * * bash -c 'cd env && source activate env && bin/env-dev python ~/Documents/test/ingest.py' >> ~/test_cron.txt 2>&1

screenshot of terminal with the bash command

2)没有重击

* * * * * cd env && source activate env && bin/env-dev python ~/Documents/test/ingest.py

3)我还尝试了在crontab的顶部添加PATH = / Users / mattzerweck / miniconda3 / envs / myenv,但是没有成功执行bash。

有人对此有解决方案吗?我似乎还没有找到一个可以在线运行的解决方案,需要该脚本每天早上5点自动运行。 (目前每分钟用于测试)

1 个答案:

答案 0 :(得分:0)

找到了有效的答案。必须在命令之前设置路径并加壳。 Cron没有拉我正确的文件路径。