【问题标题】:Run python script on cron using conda使用 conda 在 cron 上运行 python 脚本
【发布时间】:2021-02-24 01:42:14
【问题描述】:

尝试在运行 Linux Ubuntu 18.04.2 LTS 的 GCP Compute Engine 实例上使用 cron 向 Slack 发送一些输出。

输出由 python 脚本生成。

Python 脚本通常使用conda activate my_envpython my_script.py 运行

我通过 chmod +x my_script.bash 使 bash 文件可执行

这是 bash 文件的内容:

#!/bin/bash
source /home/user/miniconda3/bin/activate
conda activate my_env
python /home/user/folder/cron/reports.py -r check_stocks

我希望将以下行添加到crontab -e

00 21 * * * cd /home/user/folder/cron/ && /bin/bash my_script.bash 会给我同样的结果。

我在我的 shell 中运行 cd /home/user/folder/cron/ && /bin/bash my_script.bash 并且脚本运行良好。

【问题讨论】:

    标签: python cron conda


    【解决方案1】:

    使您的 .py 文件也可以执行 (chmod +x file.py) - 否则它将无法工作。 您可以找到已解决的类似问题here

    【讨论】:

      【解决方案2】:

      我遇到了类似的问题,我放弃了激活conda 环境,而是直接调用了 miniconda 环境文件夹中的 python bin,如下所示:

      00 21 * * * /home/myuser/miniconda3/envs/my_env/bin/python /home/user/folder/cron/reports.py
      

      我不认为这是推荐的解决方案,特别是如果您有一个具有依赖关系的复杂项目并且要导入大量模块,但对于我的简单脚本它解决了问题。

      【讨论】:

        猜你喜欢
        • 2011-05-26
        • 2011-05-28
        • 2018-03-20
        • 1970-01-01
        • 2015-03-16
        • 2011-09-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多