1

我正在尝试在 Fedora 16 机器上使用 Django 和 Apache 在本地设置 mod_wsgi。我遇到了错误:

ImportError: Could not import settings 'cat.settings' (Is it on sys.path?): No module named cat.settings

我意识到对此还有其他一些问题-但他们的解决方案并未解决此错误。感谢您对消息的任何帮助或想法!

--

以下是对我的设置的一些见解:

  • 在 localhost 收到 500 内部服务器错误。
  • 我的目录是:/home/name/src/django/animals/cat(其中 cat 目录包含一个 __init__.py 和一个 settings.py 文件。
  • 我在 cat 目录中有一个名为 catOne 的应用程序文件夹 - 它还包含一个 __init__.py 文件。
  • 我的 wsgi 文件如下所示:

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()
  • 设置和init文件的权限是755,但我也试过777没有成功。

  • 我的 sys.path 看起来像:


/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

再次感谢你的帮助!

4

1 回答 1

4

SELinux 导致访问文件出现问题。这可能不是最好的方法,但我通过编辑 /etc/selinux/config 文件完全禁用了它。将 SELINUX=enforcing 更改为 SELINUX=disabled。

同样,更改 SELinux 可能有更精细的控制,因此禁用后果自负。

于 2012-07-10T04:01:02.193 回答