I’m attempting to set up mod_wsgi with Django and Apache locally on a Fedora 16 machine. I run into the error:
ImportError: Could not import settings 'cat.settings' (Is it on sys.path?): No module named cat.settings
I realize there are a few other questions about this – but their solutions have not fixed this error. I appreciate any help or ideas you may have regarding the message!
—
Here’s a bit of insight into my set-up:
- Receiving 500 Internal Server Error at localhost.
- My directory is: /home/name/src/django/animals/cat (where the cat directory contains an __init__.py and a settings.py file.
- I have one application folder in the cat directory, named catOne – it also contains an __init__.py file.
- My wsgi file looks like this:
import os
import sys
sys.path.append('/home/name/src/django/animals/cat')
sys.path.append('/home/name/src/django/animals')
sys.stderr.write('\n'.join(sys.path))
root = os.path.join(os.path.dirname(__file__), '..')
sys.path.insert(0, root)
packages = os.path.join(root, 'environ/lib/python2.7/site-packages')
sys.path.insert(0, packages)
os.environ['DJANGO_SETTINGS_MODULE'] = 'cat.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
-
The permissions on the settings and init files are 755, but I’ve also tried 777 without success.
-
My sys.path looks like:
/var/www
/usr/lib/python27.zip
/usr/lib/python2.7
/usr/lib/python2.7/plat-linux2
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/lib/python2.7/site-packages
/usr/lib/python2.7/site-packages/PIL
/usr/lib/python2.7/site-packages/gst-0.10
/usr/lib/python2.7/site-packages/gtk-2.0
/usr/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info
/home/name/src/django/animals/cat
/home/name/src/django/animals
Thanks again for your help!
SELinux was causing an issue accessing the file. This probably isn’t the best way, but I disabled it entirely by editing the /etc/selinux/config file. Change SELINUX=enforcing to SELINUX=disabled.
Again, there are probably finer grain controls for changing SELinux so disable at your own peril.