Location of virtualenv in production
Basically you can put the virtual environment at any place that suits you and can be read by the user running the python process. For security reasons you should consider to create the ve as an other user so the process has no write access to it.
I'm in the process of deploying a Django site, and I'm using a virtualenv to keep my Python installation tidy.  I'm trying to figure out where the virtual environment should be located in a production server environment.  It seems like this should be super straightforward, but it's giving me a monster headache.  Any help would be greatly appreciated!
My plan was to use virtualenvwrapper to make my virtual environment.  By default, this stores the virtualenv in ~/.virtualenvs, which in this case is /home/james/virtualenvs/.  This is fine in development, when I'm on my local machine and running everything under the user james.  However, I don't believe that the user james is going to be running the code in the virtualenv on the production server; rather, I believe it's going to be www-data. Is www-data supposed to reach across to james to access the virtualenv, or is there a way to install the virtualenv into www-data?  It seems like there should be a standardized way of configuring virtualenvs in production, but I can't seem to find anything.
Thank you in advance for any and all help!