I have a Django project which I would like to run on my shared webspace (1und1 Webspace) running on linux. I don't have root access and therefore can not edit apache's httpd.conf or install software system wide.
What I did so far:
python manage.py runserver
Since your apache is shared, I don't expect you can change the httpd.conf but use instead your solution. My suggestion is:
wsgi.pyfile which you will never put in versioning systems. Pretty much like you would do with a
local_settings.pyfile. This file will be named
wsgy.pysince most likely you cannot edit the apache settings (since it is shared) and that name will be expected for your wsgi file.
The content for the file will be:
#!/path/to/your/virtualenv/python from my_true_wsgi import *
Which will be different for each deploy server, but the difference will be, most likely, in the shebang line to locate the proper python interpreter.
my_true_wsgito have it matching the import in the former code. That file will be in the versioning systems, unlike the
wsgi.pyfile. The contents of such file is the usual contents of the
wsgi.pyon any regular django project, just that you are not using that name directly.
With this solution you can have several different wsgi files with no conflict on shebangs.