Skip to content
Advertisement

run a crontab job using an anaconda env

I want to have a cron job execute a python script using an already existing anaconda python environment called my_env. The only thing I can think to do is have the cron job run a script called my_script.bash which in turn activates the env and then runs the python script.

#!/bin/bash
source activate my_env
python ~/my_project/main.py

Trying to execute this script from the command lines doesn’t work:

$ sh scripts/my_script.bash
scripts/my_script.bash: 9: scripts/my_script.bash: source: not found

What do I need to do to make sure the proper environment is activated. Its ok to explain it to me like I’m 5.

Advertisement

Answer

Don’t call sh but bash. source is a bash command.

    - sh scripts/my_script.bash
    + bash scripts/my_script.bash

Or just

    chmod +x scripts/my_script.bash
    ./scripts/my_script.bash

since you added the bash shebang.

User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement