Django, apache and mod_wsgi
Question: I am trying to deploy an Apache webserver with a Django installation.

I have installed Apache 2.2.25 (is working) and mod_wsgi 3.5.

In my error log I get

    
    
    [Sun Oct 05 10:09:10 2014] [notice] Apache/2.2.25 (Win32) mod_wsgi/3.5 Python/3.4.1 configured -- resuming normal operations
    

So I think something might be working.

The problem arises when I go to `http://localhost/`. I get a `500 Internal
Server Error`.

The error log says:

    
    
    [Sun Oct 05 10:09:10 2014] [notice] Apache/2.2.25 (Win32) mod_wsgi/3.5 Python/3.4.1 configured -- resuming normal operations
    [Sun Oct 05 10:09:10 2014] [notice] Server built: Jul 10 2013 01:52:12
    [Sun Oct 05 10:09:10 2014] [notice] Parent: Created child process 5832
    httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.0.19 for ServerName
    httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.0.19 for ServerName
    [Sun Oct 05 10:09:10 2014] [notice] Child 5832: Child process is running
    [Sun Oct 05 10:09:10 2014] [notice] Child 5832: Acquired the start mutex.
    [Sun Oct 05 10:09:10 2014] [notice] Child 5832: Starting 64 worker threads.
    [Sun Oct 05 10:09:10 2014] [notice] Child 5832: Starting thread to listen on port 80.
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1] mod_wsgi (pid=5832): Exception occurred processing WSGI script 'C:/Users/Username/Dropbox/myproject/myproject/wsgi.py'.
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1] Traceback (most recent call last):\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\core\\urlresolvers.py", line 359, in urlconf_module\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]     return self._urlconf_module\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1] AttributeError: 'RegexURLResolver' object has no attribute '_urlconf_module'\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1] \r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1] During handling of the above exception, another exception occurred:\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1] \r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1] Traceback (most recent call last):\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\core\\handlers\\wsgi.py", line 168, in __call__\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]     self.load_middleware()\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\core\\handlers\\base.py", line 46, in load_middleware\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]     mw_instance = mw_class()\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\middleware\\locale.py", line 23, in __init__\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]     for url_pattern in get_resolver(None).url_patterns:\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\core\\urlresolvers.py", line 367, in url_patterns\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]     patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\core\\urlresolvers.py", line 361, in urlconf_module\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]     self._urlconf_module = import_module(self.urlconf_name)\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\Lib\\importlib\\__init__.py", line 109, in import_module\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]     return _bootstrap._gcd_import(name[level:], package, level)\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "<frozen importlib._bootstrap>", line 2254, in _gcd_import\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "<frozen importlib._bootstrap>", line 2237, in _find_and_load\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "<frozen importlib._bootstrap>", line 1129, in _exec\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "<frozen importlib._bootstrap>", line 1471, in exec_module\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "C:\\Users\\Username\\Dropbox\\myproject\\myproject\\urls.py", line 8, in <module>\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]     admin.autodiscover()\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\contrib\\admin\\__init__.py", line 23, in autodiscover\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]     autodiscover_modules('admin', register_to=site)\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\utils\\module_loading.py", line 67, in autodiscover_modules\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]     for app_config in apps.get_app_configs():\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\apps\\registry.py", line 137, in get_app_configs\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]     self.check_apps_ready()\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\apps\\registry.py", line 124, in check_apps_ready\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1]     raise AppRegistryNotReady("Apps aren't loaded yet.")\r
    [Sun Oct 05 10:09:14 2014] [error] [client 127.0.0.1] django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.\r
    

So the problem seems to be `AttributeError: 'RegexURLResolver' object has no
attribute '_urlconf_module'\r`. First I thought it must be something with my
project, so I've tried not loading any apps, but even with a clean django
project it causes the problem (I have checked if it works with the normal
django development server).

Can anyone see what I am doing wrong?

# Edit (error log when omitting `admin.autodiscover()` from `urls.py`):

    
    
    [Sun Oct 05 10:31:51 2014] [notice] Apache/2.2.25 (Win32) mod_wsgi/3.5 Python/3.4.1 configured -- resuming normal operations
    [Sun Oct 05 10:31:51 2014] [notice] Server built: Jul 10 2013 01:52:12
    [Sun Oct 05 10:31:51 2014] [notice] Parent: Created child process 5492
    httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.0.19 for ServerName
    httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.0.19 for ServerName
    [Sun Oct 05 10:31:51 2014] [notice] Child 5492: Child process is running
    [Sun Oct 05 10:31:52 2014] [notice] Child 5492: Acquired the start mutex.
    [Sun Oct 05 10:31:52 2014] [notice] Child 5492: Starting 64 worker threads.
    [Sun Oct 05 10:31:52 2014] [notice] Child 5492: Starting thread to listen on port 80.
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1] mod_wsgi (pid=5492): Exception occurred processing WSGI script 'C:/Users/Username/Dropbox/myproject/myproject/wsgi.py'.
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1] Traceback (most recent call last):\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\core\\urlresolvers.py", line 359, in urlconf_module\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]     return self._urlconf_module\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1] AttributeError: 'RegexURLResolver' object has no attribute '_urlconf_module'\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1] \r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1] During handling of the above exception, another exception occurred:\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1] \r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1] Traceback (most recent call last):\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\core\\handlers\\wsgi.py", line 168, in __call__\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]     self.load_middleware()\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\core\\handlers\\base.py", line 46, in load_middleware\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]     mw_instance = mw_class()\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\middleware\\locale.py", line 23, in __init__\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]     for url_pattern in get_resolver(None).url_patterns:\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\core\\urlresolvers.py", line 367, in url_patterns\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]     patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\core\\urlresolvers.py", line 361, in urlconf_module\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]     self._urlconf_module = import_module(self.urlconf_name)\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\Lib\\importlib\\__init__.py", line 109, in import_module\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]     return _bootstrap._gcd_import(name[level:], package, level)\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "<frozen importlib._bootstrap>", line 2254, in _gcd_import\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "<frozen importlib._bootstrap>", line 2237, in _find_and_load\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "<frozen importlib._bootstrap>", line 1129, in _exec\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "<frozen importlib._bootstrap>", line 1471, in exec_module\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "C:\\Users\\Username\\Dropbox\\myproject\\myproject\\urls.py", line 10, in <module>\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]     url(r'^admin/', include(admin.site.urls)),\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\contrib\\admin\\sites.py", line 260, in urls\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]     return self.get_urls(), self.app_name, self.name\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\contrib\\admin\\sites.py", line 221, in get_urls\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]     self.check_dependencies()\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\contrib\\admin\\sites.py", line 159, in check_dependencies\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]     if not apps.is_installed('django.contrib.admin'):\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\apps\\registry.py", line 223, in is_installed\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]     self.check_apps_ready()\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7-py3.4.egg\\django\\apps\\registry.py", line 124, in check_apps_ready\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1]     raise AppRegistryNotReady("Apps aren't loaded yet.")\r
    [Sun Oct 05 10:32:00 2014] [error] [client 127.0.0.1] django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.\r
    

# Edit 2:

    
    
    WSGIScriptAlias / C:/Users/Username/Dropbox/myproject/myproject/wsgi.py
    WSGIPythonPath C:/Users/Username/Dropbox/myproject
    
    <Directory C:/Users/Username/Dropbox/myproject/myproject>
    <Files wsgi.py>
    Order deny,allow
    Allow from all
    </Files>
    </Directory>
    

My `wsgi.py`:

    
    
    import os
    import sys
    
    os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
    
    from django.core.handlers.wsgi import WSGIHandler
    
    application = WSGIHandler()
    

# Edit 3 (10-07-2014):

With Python 2.7 I get the error:

    
    
    [Tue Oct 07 11:55:19 2014] [warn] mod_wsgi: Compiled for Python/2.7.6.
    [Tue Oct 07 11:55:19 2014] [warn] mod_wsgi: Runtime using Python/2.7.8.
    [Tue Oct 07 11:55:19 2014] [notice] Apache/2.2.25 (Win32) mod_wsgi/3.5 Python/2.7.8 configured -- resuming normal operations
    [Tue Oct 07 11:55:19 2014] [notice] Server built: Jul 10 2013 01:52:12
    [Tue Oct 07 11:55:19 2014] [notice] Parent: Created child process 5824
    [Tue Oct 07 11:55:19 2014] [warn] mod_wsgi: Compiled for Python/2.7.6.
    [Tue Oct 07 11:55:19 2014] [warn] mod_wsgi: Runtime using Python/2.7.8.
    [Tue Oct 07 11:55:19 2014] [notice] Child 5824: Child process is running
    [Tue Oct 07 11:55:20 2014] [notice] Child 5824: Acquired the start mutex.
    [Tue Oct 07 11:55:20 2014] [notice] Child 5824: Starting 64 worker threads.
    [Tue Oct 07 11:55:20 2014] [notice] Child 5824: Starting thread to listen on port 80.
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1] mod_wsgi (pid=5824): Exception occurred processing WSGI script 'C:/Users/sgan/Dropbox/myproject/myproject/wsgi.py'.
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1] Traceback (most recent call last):
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\Lib\\site-packages\\django-1.7-py3.4.egg\\django\\core\\handlers\\wsgi.py", line 168, in __call__
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]     self.load_middleware()
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\Lib\\site-packages\\django-1.7-py3.4.egg\\django\\core\\handlers\\base.py", line 46, in load_middleware
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]     mw_instance = mw_class()
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\Lib\\site-packages\\django-1.7-py3.4.egg\\django\\middleware\\locale.py", line 23, in __init__
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]     for url_pattern in get_resolver(None).url_patterns:
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\Lib\\site-packages\\django-1.7-py3.4.egg\\django\\core\\urlresolvers.py", line 367, in url_patterns
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]     patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\Lib\\site-packages\\django-1.7-py3.4.egg\\django\\core\\urlresolvers.py", line 361, in urlconf_module
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]     self._urlconf_module = import_module(self.urlconf_name)
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]   File "C:\\Python27\\Lib\\importlib\\__init__.py", line 37, in import_module
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]     __import__(name)
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]   File "C:\\Users\\sgan\\Dropbox\\myproject\\myproject\\urls.py", line 9, in <module>
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]     url(r'^admin/', include(admin.site.urls)),
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\Lib\\site-packages\\django-1.7-py3.4.egg\\django\\contrib\\admin\\sites.py", line 260, in urls
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]     return self.get_urls(), self.app_name, self.name
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\Lib\\site-packages\\django-1.7-py3.4.egg\\django\\contrib\\admin\\sites.py", line 221, in get_urls
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]     self.check_dependencies()
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\Lib\\site-packages\\django-1.7-py3.4.egg\\django\\contrib\\admin\\sites.py", line 159, in check_dependencies
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]     if not apps.is_installed('django.contrib.admin'):
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\Lib\\site-packages\\django-1.7-py3.4.egg\\django\\apps\\registry.py", line 223, in is_installed
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]     self.check_apps_ready()
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]   File "C:\\Python34\\Lib\\site-packages\\django-1.7-py3.4.egg\\django\\apps\\registry.py", line 124, in check_apps_ready
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1]     raise AppRegistryNotReady("Apps aren't loaded yet.")
    [Tue Oct 07 11:55:25 2014] [error] [client 127.0.0.1] AppRegistryNotReady: Apps aren't loaded yet.
    

The Apache configuration is

    
    
    WSGIScriptAlias / C:/Users/Username/Dropbox/myproject/myproject/wsgi.py
    WSGIPythonPath C:/Users/Username/Dropbox/myproject;C:/Python27;C:/Python27/Lib
    
    <Directory C:/Users/Username/Dropbox/myproject/myproject>
    <Files wsgi.py>
    Order deny,allow
    Allow from all
    #Require all granted
    </Files>
    </Directory>
    


Answer: The problem was that the correct way to create the wsgi app was edited between
django 1.6 and 1.7 to

    
    
    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()
    

Now it works in both python 2.7 and python 3.4

