无法导入设置'live.settings'(是否在sys.path上?):没有名为billiard.exceptions的模块

时间:2013-03-19 10:49:05

标签: django

我正在尝试在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

1 个答案:

答案 0 :(得分:1)

可能在您的配置中,路径/ srv / projects / liveSMS和/srv/projects/liveSMS.live必须位于PYTHONPATH变量中。

例如,您可以将其永久添加到启动Apache webserver的用户的.bashrc文件中:

PYTHONPATH =&#39; / SRV /项目/ liveSMS /:/ SRV /项目/ liveSMS.live /&#39;

我不确定建议的解决方案是否最佳。但它可以奏效。