Как запустить мой скрипт Python со средой Anaconda в crontab?

Я хочу запланировать задачу с помощью crontab для запуска файла python в определенной среде anaconda каждый день в определенное время. Для этого у меня есть скрипт python.

Сценарий python запускается, если я просто выполняю его с помощью python h.py в среде anaconda в терминале. 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    

Это тоже ничего не делает: нет сообщения об ошибке

Я также пробовал следующее:

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

От этот ответ на Stack Overflow.

Этот ответ на Unix & Linux не работал с обычной анакондой.

Я также прочитал следующие решения, но ничего не помогло.

Одна вещь, о которой я думал, но не пробовал, это установка демона для crontab, как рекомендуется в этом ответе, но я не смог найти cronie для установки для Ubuntu.

0
задан 31 May 2021 в 19:21

1 ответ

Если для файла Python требуется только python (а не другая библиотека) 56 16 * * * / home / MY_ACTUAL_USERNAME / anaconda3 / envs / rapids / bin / python /home/MY_ACTUAL_USERNAME/Documents/h.py

Если для файла Python требуются другие библиотеки Python, находящиеся в среде anaconda:

  • создайте сценарий SHELL

     nano my_shell_file_name.sh 
     
  • Пример того, что должно быть внутри файла

     #! / Bin / bash 
     # conda activate rapids НЕПРАВИЛЬНО 
    source ~ / anaconda3 / bin / activate MY_ANACONDA_ENVIRONMENT_NAME #correct 
     # python Documents / my_python_file_name.py НЕПРАВИЛЬНО ПЕРЕХОДИТЕ В ПАПКУ WHTAN ВЫПОЛНИТЬ ЛИБО python 
    cd ~ / Documents / folder_where_python_file_is / #correct 
    python my_python_file_name.py #correct deactivate {1}} con }} 
  • запустите crontab с помощью

     crontab -e 
     
  • пример того, что вы можете добавить в конец этого файла crontab

     43 21 * * * / home / MY_ACTUAL_USERNAME / my_sehell_file_name .sh 
     
1
ответ дан 28 July 2021 в 11:34

Другие вопросы по тегам:

Похожие вопросы: