通过cron更新虚拟环境中的pip包

时间:2016-07-01 00:22:32

标签: python cron ubuntu-14.04 virtualenv

我不确定为什么会发生这种情况,我目前在我的crontab -e

中进行了此设置
*/30 * * * * cd /home/www/ && source env/bin/activate && pip install --upgrade youtube_dl >/dev/null 2>&1

问题是这实际上并没有更新脚本。当我跑步时

cd /home/www/ && source env/bin/activate && pip install --upgrade youtube_dl >/dev/null 2>&1

在终端升级,但是当它通过cron运行时它不会。

我应该将其分解为bash脚本以保证成功吗?如果我能在终端中运行命令并且成功执行,那么我的印象就是crontab。

1 个答案:

答案 0 :(得分:1)

cron使用/bin/sh作为它的shell,而不是bash。你正在调用source,这是一个bash命令。

注意:您可以将source替换为.,并且两个shell都会识别该命令。