Weird django deployment error on apache, mod_wsgi, debian

on django 1.8 In the apache error logs I get

File "..../python2.7/site-packages/django/utils/lru_cache.py", line 28
fasttypes = {int, str, frozenset, type(None)},
SyntaxError: invalid syntax

      

googling around this seems like the error you get when running django 1.7+ and don't meet the minimum python 2.7 requirement. However

$ python --version
Python 2.7.3

      

here are the relevant parts of the apache virtual host configuration.

<VirtualHost <some_ip>:80>       
        WSGIDaemonProcess some_process python-path=/path/to/django-project/main-django-app:/path/to/virtual-env/site-packages/ threads=15 display-name=%{GROUP}
        WSGIProcessGroup some_group

        WSGIScriptAlias / /path/to/django-project/main-django-app/wsgi.py

        <Directory /path/to/django-project/main-django-app>
        <Files wsgi.py>
                Order deny,allow

                # Require all granted
                # for Apache < 2.4
                Allow from all
        </Files>
        </Directory>
</VirtualHost>

      

Anyone can figure out what the problem might be?

+3


source to share


1 answer


You need to install mod_wsgi for your python version.

If you don't have access to the Apache installation, mod_wsgi can be installed directly in your virtualenv using pip. It can then be loaded in the server settings using:

Global settings:

LoadModule wsgi_module /path/to_your_env/path/to/mod_wsgi.so
WSGISocketPrefix run/wsgi
WSGIDaemonProcess 385969

      



Virtualhost:

WSGIScriptAlias / "/path/to/your/wsgi.py"
<Location />
    WSGIProcessGroup 385969 # this value must be identical to WSGIDaemonProcess
</Location>

      

Finally, I have your wsgi.py file, you will have to activate virtualenv.

+2


source