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.