Issue
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.
Solution
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.
Answered By - Jérôme Answer Checked By - Marilyn (WPSolving Volunteer)