We are currently testing Django on a live server using Windows 2008 webserver and IIS7. To run Django projects on IIS we use Helicon Zoo (Python hosting package with Django).
The plan is to host multiple clients on that webserver and we would like to use virtualenv, so we can upgrade python packages for specific clients, without affecting the others.
The specific question is; when we have several virtualenvs on the server, how do we set up the different Django sites under IIS to use a specific virtualenv?
Thanks in advance for your time and answers,
Erik
It is not quite clear to me whether you need different versions of Python or different versions of modules, used in the application.
To have different python versions you can install another python manually, then go to applicationHost.config file, find . Engines declarations will be listed there. Create a copy of "python.2.7.wsgi" and edit the copy, name it like "python.2.5.wsgi" and change executable name path. This is how you can declare more engines with different versions and settings. Here you can find more information: Helicon Zoo Module documentation
As for Python modules, it is supposed that modules are installed locally in the client's web site in \python_modules\ directory. When you create new Django application using Helicon Zoo, it is configured to use isolated environment by default, you only need to learn how to use it right and tell your clients to follow guidelines. You can find the information in this article: Running Django on Windows (with performance tests)