Run python script in virtualenv from cron
9 April 2013
I’m using virtualenv and have some python scripts as part of a django project. The scripts need to be run by cron, but have to use the virtualenv.
There’s a few solutions around, but I went with this shell script which changes to the directory it’s in, activates the virtualenv and runs python for the given script with args.
The script looks like:
#!/bin/bash # Runs python script within virtualenv # used by cron cd `dirname $0` source env/bin/activate python "${@:1}"
chmod it so it’s executable.
I run it from cron like:
/srv/www/myproject/runscript scripts/test.py arg1 arg2
The test.py
script is at /srv/www/myproject/scripts/test.py
– i.e. relative to the runscript
script.
This is largely a note-to-self, but I hope it helps you, too.
Comments Off on Run python script in virtualenv from cron