Django virtualenv deployment configuration
-
27-09-2019 - |
Question
I recently start to use virtualenvwrapper and created
mkdir ~/.virtualenvs
mkvirtualenv example.com
Virtualenvwarpper automatical create a virtualenv named example.com under ~/.virtualenv so this is the central container for all virtualenvs. After than I installed django and some other packages via pip and my site is at
/srv/www/example.com/public_html/
Do I have to put my site to ~/.virtualenv/example.com if not how could I use my example.com virtualenv with my site under /srv/www/example.com/public_html. Could you show me an apache mod_wsgi configuration for this deployment? Thanks
Solution
Read:
http://code.google.com/p/modwsgi/wiki/VirtualEnvironments
It may not be sufficient to use just site.addsitedir() as it doesn't deal with certain ordering issues. You are better off using the configuration directive/option provided by mod_wsgi to add them. Otherwise, if the ordering becomes an issue you will need to add code into WSGI script that reorders sys.path as necessary.
OTHER TIPS
In your WSGI script:
import site
site.addsitedir('/home/username/.virtualenvs/example.com/lib/python2.5/site-packages')
(Adjust as appropriate for your Python version, etc.)