如何在 crontab 中使用 Anaconda 环境运行我的 Python 脚本?

搜狗
  • 我想使用 crontab 安排一个任务,以便每天在特定时间在特定的 anaconda 环境中运行一个 python 文件。
  • 我也有一个 python 脚本来这样做。
  • 如果我python h.py在终端的 anaconda evoronment 中执行它,pythons脚本就会运行h.py 在主目录中
  • 我正在使用 Ubuntu 20.04,我还没有刷新任何新的 cron 或 crontab
  • 我已经尝试了以下命令来让它工作,但他们什么也没做(结果应该是一个文件夹,而且它几乎没有被创建)
crontab -e

在 crontab 里面:

#[long descriptional text]
...
53 13 * * * cd /home/ && /home/user/anaconda3/envs/rapids/bin/python h.py    

这 alos 什么都不做 没有错误消息

我也尝试了以下解决方案

  • 32 14 * * * cd /home/Documents && /home/user/anaconda3/envs/rapids/bin/python h.py
  • 34 14 * * * cd /home/Documents && /home/anaconda3/envs/rapids/bin/python h.py 2>&1 https://stackoverflow.com/a/64470729/10270590
  • 44 14 * * * cd /home/Documents && /home/user/anaconda3/envs/rapids/bin/python h.py >> ~/cron.log 2>&1
  • 不适用于普通 anaconda - https://unix.stackexchange.com/a/572951/400960
  • 58 14 * * * /home/Documents && /home/user/anaconda3/envs/rapids/bin/python home/Documents/h.py >> ~/cron.log 2>&1
  • 59 14 * * * /home/Documents && /home/anaconda3/envs/rapids/bin/python home/Documents/h.py >> ~/cron.log 2>&1
  • 58 14 * * * /home/user/anaconda3/envs/rapids/bin/python home/Documents/h.py
  • 10 15 * * * /home/anaconda3/envs/rapids/bin/python home/Documents/h.py
  • 出于分析目的运行此程序,但没有结果(未创建文件,终端中没有打印输出) 36 15 * * * /home/anaconda3/envs/rapids/bin/python -c "import sys; sys.stdout.write('out\n'); sys.stderr.write('err\n')" >> /home/so_test.log 2>&1

我也阅读了以下解决方案,但没有任何效果

搜狗

如果Python文件只需要python(不需要其他库)

56 16 * * * /home/MY_ACTUAL_USERNAME/anaconda3/envs/rapids/bin/python /home/MY_ACTUAL_USERNAME/Documents/h.py

如果 Python 文件需要 anaconda 环境中的其他 Python 库:

  • 创建一个 SHELL 脚本
nano my_sehell_file_name.sh
  • 示例文件中应该包含的内容
#!/bin/bash
#conda activate rapids WRONG
source ~/anaconda3/bin/activate MY_ANACONDA_ENVIRONMENT_NAME #correct
#python Documents/my_python_file_name.py WRONG SEPARATLY GO TO FOLER WHTAN EXECUTE EITH python
cd ~/Documents/folder_where_python_file_is/ #correct
python my_python_file_name.py #correct
conda deactivate
  • 通过以下方式启动corntab

corntab -e

  • 例如你可以写什么到这个corntab文件的末尾
43 21 * * * /home/MY_ACTUAL_USERNAME/my_sehell_file_name.sh

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章