I'm running CentOS 5, and am trying to get a django application working with mod_wsgi. I'm using .wsgi settings I got working on Ubuntu. I'm also using an alternate installation of python (/opt/python2.6/) since my django application needs >2.5 and the OS uses 2.3
Here is the error:
[Thu Mar 04 10:52:15 2010] [error] [client 10.1.0.251] SystemError: dynamic module not initialized properly
[Thu Mar 04 10:52:15 2010] [error] [client 10.1.0.251] mod_wsgi (pid=23630): Target WSGI script '/data/hosting/cubedev/apache/django.wsgi' cannot be loaded as Python module.
[Thu Mar 04 10:52:15 2010] [error] [client 10.1.0.251] mod_wsgi (pid=23630): Exception occurred processing WSGI script '/data/hosting/cubedev/apache/django.wsgi'.
[Thu Mar 04 10:52:15 2010] [error] [client 10.1.0.251] Traceback (most recent call last):
[Thu Mar 04 10:52:15 2010] [error] [client 10.1.0.251] File "/data/hosting/cubedev/apache/django.wsgi", line 8, in
[Thu Mar 04 10:52:15 2010] [error] [client 10.1.0.251] import django.core.handlers.wsgi
[Thu Mar 04 10:52:15 2010] [error] [client 10.1.0.251] File "/opt/python2.6/lib/python2.6/site-packages/django/core/handlers/wsgi.py", line 1, in
[Thu Mar 04 10:52:15 2010] [error] [client 10.1.0.251] from threading import Lock
[Thu Mar 04 10:52:15 2010] [error] [client 10.1.0.251] File "/opt/python2.6/lib/python2.6/threading.py", line 13, in
[Thu Mar 04 10:52:15 2010] [error] [client 10.1.0.251] from functools import wraps
[Thu Mar 04 10:52:15 2010] [error] [client 10.1.0.251] File "/opt/python2.6/lib/python2.6/functools.py", line 10, in
[Thu Mar 04 10:52:15 2010] [error] [client 10.1.0.251] from _functools import partial, reduce
[Thu Mar 04 10:52:15 2010] [error] [client 10.1.0.251] SystemError: dynamic module not initialized properly
And here is my .wsgi file
import os
import sys
os.environ['PYTHON_EGG_CACHE'] = '/tmp/django/' # This line was added for CentOS.
os.environ['DJANGO_SETTINGS_MODULE'] = 'cube.settings'
sys.path.append('/data/hosting/cubedev')
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
output of ldd /usr/lib/httpd/modules/mod_wsgi.so
linux-gate.so.1 => (0x00250000)
libpython2.6.so.1.0 => /opt/python2.6/lib/libpython2.6.so.1.0 (0x00be6000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00110000)
libdl.so.2 => /lib/libdl.so.2 (0x00557000)
libutil.so.1 => /lib/libutil.so.1 (0x00128000)
libm.so.6 => /lib/libm.so.6 (0x0012c000)
libc.so.6 => /lib/libc.so.6 (0x00251000)
/lib/ld-linux.so.2 (0x0039a000)
vhost config
<VirtualHost *:80>
ServerAdmin [email protected]
ServerAlias cube-dev.example.com
ServerName cube-dev.example.com
ErrorLog logs/cube-dev.example.com.error_log
CustomLog logs/cube-dev.example.com.access_log common
Alias /phpMyAdmin /var/www/phpMyAdmin/
# DocumentRoot /data/hosting/cubedev
WSGIScriptAlias / /data/hosting/cubedev/apache/django.wsgi
WSGIProcessGroup cubedev.example.com
WSGIDaemonProcess cubedev.example.com
Alias /media/ /data/hosting/cubedev/media/
Alias /adminmedia/ /opt/python2.6/lib/python2.6/site-packages/django/contrib/admin/media/
Alias /media /data/hosting/cubedev/media
<Directory "/data/hosting/cubedev/media">
Order deny,allow
Allow from all
</Directory>
</VirtualHost>