Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django virtualenv deployment configuration

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

like image 827
Gok Demir Avatar asked Aug 11 '10 19:08

Gok Demir


2 Answers

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.

like image 193
Graham Dumpleton Avatar answered Sep 25 '22 15:09

Graham Dumpleton


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.)

like image 39
Ben James Avatar answered Sep 23 '22 15:09

Ben James