这个应用程序使用django内部服务器运行良好,但是当我使用apache+mod_python时,我得到以下错误
File "/usr/local/lib/python2.6/dist-packages/django/conf/__init__.py", line 75, in __init__
raise ImportError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e)
ImportError: Could not import settings 'settings' (Is it on sys.path? Does it have syntax errors?): No module named settings
这是需要的信息
1)项目目录:/root/djangoprojects/mysite
2)目录列表/root/djangoprojects/mysite
ls -ltr
total 28
-rw-r--r-- 1 root root 546 Aug 1 08:34 manage.py
-rw-r--r-- 1 root root 0 Aug 1 08:34 __init__.py
-rw-r--r-- 1 root root 136 Aug 1 08:35 __init__.pyc
-rw-r--r-- 1 root root 2773 Aug 1 08:39 settings.py
-rw-r--r-- 1 root root 1660 Aug 1 08:53 settings.pyc
drwxr-xr-x 2 root root 4096 Aug 1 09:04 polls
-rw-r--r-- 1 root root 581 Aug 1 10:06 urls.py
-rw-r--r-- 1 root root 314 Aug 1 10:07 urls.pyc
3)应用程序目录:root/djangoprojects/mysite/polls
4)目录列表/root/djangoprojects/mysite/polls
ls -ltr
total 20
-rw-r--r-- 1 root root 514 Aug 1 08:53 tests.py
-rw-r--r-- 1 root root 57 Aug 1 08:53 models.py
-rw-r--r-- 1 root root 0 Aug 1 08:53 __init__.py
-rw-r--r-- 1 root root 128 Aug 1 09:02 views.py
-rw-r--r-- 1 root root 375 Aug 1 09:04 views.pyc
-rw-r--r-- 1 root root 132 Aug 1 09:04 __init__.pyc
5)文件系统中运行import django in python解释器的任何地方都可以正常工作
6)httpd.conf的内容
<Location "/mysite">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE settings
PythonOption django.root /mysite
PythonPath "['/root/djangoprojects/', '/root/djangoprojects/mysite','/root/djangoprojects/mysite/polls', '/var/www'] + sys.path"
PythonDebug On
</Location>
7)PYTHONPATH变量设置为
echo $PYTHONPATH
/root/djangoprojects/mysite
8)DJANGO_SETTINGS_模块设置为
echo $DJANGO_SETTINGS_MODULE
mysite.settings
9)sys.path的内容是
import sys
>>> sys.path
['', '/root/djangoprojects/mysite', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/usr/local/lib/python2.6/dist-packages']
如何将设置位置添加到sys.path以使其在会话间保持不变?
我读过很多人都有同样的问题的帖子,我已经试了很多次了,我完全不知道我需要做什么。
寻求帮助。
提前谢谢 安库古普塔
您的apache配置应该如下所示:
注意,唯一的区别是“mysite.settings”。不要忘记在配置更改后重新启动apache(apache2ctl restart)。有关详细信息,请参见http://docs.djangoproject.com/en/dev/howto/deployment/modpython/。
尝试更改为以下内容:
在PythonPath条目的末尾使用no“/”(这可能是个问题,至少在Windows上我遇到了这个问题)。
不需要输入'/root/djangoprojects/mysite','/root/djangoprojects/mysite/polls',因为您将以全名引用模块(即mysite.sttings表示mysite包中的设置模块,这是在PythonPath/root/djangoprojects中访问它的正确方法)。
相关问题 更多 >
编程相关推荐