我正在尝试在Ubuntu(EC2实例)上设置我的django项目,我收到下面的错误。我的路径是100%正确的,我已经查找了其他stackoverflow问题同样的问题,但它们似乎没有帮助。我想我可能有不同的问题。
任何人都可以发现任何错误或知道我的问题会导致此错误吗?
**运行Django 1.5
Ubuntu 12.04.2 LTS **
错误:
文件“/usr/local/lib/python2.7/dist-packages/django/conf/_init_.py”,第132行,在_ init中 _ 引发ImportError(“无法导入设置'%s'(是否在sys.path上?):%s”%(self.SETTINGS_MODULE,e)) [client 37.191.99.202] ImportError:无法导入设置'live.settings'(是否在sys.path上?):没有名为billiard.exceptions的模块
WSGI
import os, sys
sys.path.append('/srv/projects/liveSMS')
sys.path.append('/srv/projects/liveSMS.live')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "live.settings")
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
网站(domain.com不是真实域名)
<VirtualHost *:80>
ServerName domain.com
ServerAlias domain.com
DocumentRoot /srv/projects/liveSMS/public
WSGIScriptAlias / /srv/projects/liveSMS/apache/django.wsgi
<Directory /srv/projects/liveSMS/>
Order allow,deny
Allow from all
</Directory>
Alias /robots.txt /srv/projects/liveSMS/public/robots.txt
Alias /static /srv/projects/liveSMS/static
ErrorLog /srv/projects/liveSMS/logs/error.log
</VirtualHost>
完全错误
[Tue Mar 19 10:31:40 2013] [error] [client 37.191.99.202] raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
[Tue Mar 19 10:31:40 2013] [error] [client 37.191.99.202] ImportError: Could not import settings 'live/settings' (Is it on sys.path?): Import by filename is not supported.
[Tue Mar 19 10:39:14 2013] [error] [client 37.191.99.202] mod_wsgi (pid=1488): Exception occurred processing WSGI script '/srv/projects/liveSMS/apache/django.wsgi'.
[Tue Mar 19 10:39:14 2013] [error] [client 37.191.99.202] Traceback (most recent call last):
[Tue Mar 19 10:39:14 2013] [error] [client 37.191.99.202] File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 236, in __call__
[Tue Mar 19 10:39:14 2013] [error] [client 37.191.99.202] self.load_middleware()
[Tue Mar 19 10:39:14 2013] [error] [client 37.191.99.202] File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 45, in load_middleware
[Tue Mar 19 10:39:14 2013] [error] [client 37.191.99.202] for middleware_path in settings.MIDDLEWARE_CLASSES:
[Tue Mar 19 10:39:14 2013] [error] [client 37.191.99.202] File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 52, in __getattr__
[Tue Mar 19 10:39:14 2013] [error] [client 37.191.99.202] self._setup(name)
[Tue Mar 19 10:39:14 2013] [error] [client 37.191.99.202] File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 47, in _setup
[Tue Mar 19 10:39:14 2013] [error] [client 37.191.99.202] self._wrapped = Settings(settings_module)
[Tue Mar 19 10:39:14 2013] [error] [client 37.191.99.202] File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 132, in __init__
[Tue Mar 19 10:39:14 2013] [error] [client 37.191.99.202] raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
[Tue Mar 19 10:39:14 2013] [error] [client 37.191.99.202] ImportError: Could not import settings 'live.settings' (Is it on sys.path?): No module named billiard.exceptions
[Tue Mar 19 11:14:53 2013] [error] [client 37.191.99.202] mod_wsgi (pid=1656): Exception occurred processing WSGI script '/srv/projects/liveSMS/apache/django.wsgi'.
[Tue Mar 19 11:14:53 2013] [error] [client 37.191.99.202] Traceback (most recent call last):
[Tue Mar 19 11:14:53 2013] [error] [client 37.191.99.202] File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 236, in __call__
[Tue Mar 19 11:14:53 2013] [error] [client 37.191.99.202] self.load_middleware()
[Tue Mar 19 11:14:53 2013] [error] [client 37.191.99.202] File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 45, in load_middleware
[Tue Mar 19 11:14:53 2013] [error] [client 37.191.99.202] for middleware_path in settings.MIDDLEWARE_CLASSES:
[Tue Mar 19 11:14:53 2013] [error] [client 37.191.99.202] File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 52, in __getattr__
[Tue Mar 19 11:14:53 2013] [error] [client 37.191.99.202] self._setup(name)
[Tue Mar 19 11:14:53 2013] [error] [client 37.191.99.202] File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 47, in _setup
[Tue Mar 19 11:14:53 2013] [error] [client 37.191.99.202] self._wrapped = Settings(settings_module)
[Tue Mar 19 11:14:53 2013] [error] [client 37.191.99.202] File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 132, in __init__
[Tue Mar 19 11:14:53 2013] [error] [client 37.191.99.202] raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
[Tue Mar 19 11:14:53 2013] [error] [client 37.191.99.202] ImportError: Could not import settings 'live.settings' (Is it on sys.path?): No module named billiard.exceptions
答案 0 :(得分:1)
可能在您的配置中,路径/ srv / projects / liveSMS和/srv/projects/liveSMS.live必须位于PYTHONPATH变量中。
例如,您可以将其永久添加到启动Apache webserver的用户的.bashrc文件中:
PYTHONPATH =&#39; / SRV /项目/ liveSMS /:/ SRV /项目/ liveSMS.live /&#39;
我不确定建议的解决方案是否最佳。但它可以奏效。