mil*_*rey 9 python django pinax
我正在努力让pinax在WebFaction上工作并且遇到很多问题......
[Sun Feb 19 20:01:20 2012] [error] [client 127.0.0.1] mod_wsgi (pid=22796): Exception occurred processing WSGI script '/home/pawesome/webapps/qtsocial/myproject.wsgi'.
[Sun Feb 19 20:01:20 2012] [error] [client 127.0.0.1] Traceback (most recent call last):
[Sun Feb 19 20:01:20 2012] [error] [client 127.0.0.1] File "/home/pawesome/webapps/qtsocial/lib/python2.6/django/core/handlers/wsgi.py", line 250, in __call__
[Sun Feb 19 20:01:20 2012] [error] [client 127.0.0.1] self.load_middleware()
[Sun Feb 19 20:01:20 2012] [error] [client 127.0.0.1] File "/home/pawesome/webapps/qtsocial/lib/python2.6/django/core/handlers/base.py", line 39, in load_middleware
[Sun Feb 19 20:01:20 2012] [error] [client 127.0.0.1] for middleware_path in settings.MIDDLEWARE_CLASSES:
[Sun Feb 19 20:01:20 2012] [error] [client 127.0.0.1] File "/home/pawesome/webapps/qtsocial/lib/python2.6/django/utils/functional.py", line 276, in __getattr__
[Sun Feb 19 20:01:20 2012] [error] [client 127.0.0.1] self._setup()
[Sun Feb 19 20:01:20 2012] [error] [client 127.0.0.1] File "/home/pawesome/webapps/qtsocial/lib/python2.6/django/conf/__init__.py", line 42, in _setup
[Sun Feb 19 20:01:20 2012] [error] [client 127.0.0.1] self._wrapped = Settings(settings_module)
[Sun Feb 19 20:01:20 2012] [error] [client 127.0.0.1] File "/home/pawesome/webapps/qtsocial/lib/python2.6/django/conf/__init__.py", line 89, in __init__
[Sun Feb 19 20:01:20 2012] [error] [client 127.0.0.1] raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
[Sun Feb 19 20:01:20 2012] [error] [client 127.0.0.1] ImportError: Could not import settings 'myproject.settings' (Is it on sys.path?): No module named pinax
Run Code Online (Sandbox Code Playgroud)
wsgi:
import os
import sys
from django.core.handlers.wsgi import WSGIHandler
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
application = WSGIHandler()
Run Code Online (Sandbox Code Playgroud)
wsgi与myproject位于同一个文件夹中,而settings.py肯定在myproject中.什么给出了什么?
编辑:
好的,所以我从这里和webfaction接受了建议,而wsgi现在看起来像这样......
import os
import sys
from site import addsitedir
from django.core.handlers.wsgi import WSGIHandler
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
sys.path.append('/home/pawesome/webapps/qtsocial/myproject')
sys.path.append('/home/pawesome/webapps/qtsocial')
addsitedir('/home/pawesome/envs/pinax072/lib/python2.6/site-packages')
application = WSGIHandler()
Run Code Online (Sandbox Code Playgroud)
我认为这解决了一些问题,但并非一切......现在我得到......
[Sun Feb 19 20:00:28 2012] [error] [client 127.0.0.1] mod_wsgi (pid=15572): Exception occurred processing WSGI script '/home/pawesome/webapps/qtsocial/myproject.wsgi'.
[Sun Feb 19 20:00:28 2012] [error] [client 127.0.0.1] Traceback (most recent call last):
[Sun Feb 19 20:00:28 2012] [error] [client 127.0.0.1] File "/home/pawesome/webapps/qtsocial/lib/python2.6/django/core/handlers/wsgi.py", line 250, in __call__
[Sun Feb 19 20:00:28 2012] [error] [client 127.0.0.1] self.load_middleware()
[Sun Feb 19 20:00:28 2012] [error] [client 127.0.0.1] File "/home/pawesome/webapps/qtsocial/lib/python2.6/django/core/handlers/base.py", line 47, in load_middleware
[Sun Feb 19 20:00:28 2012] [error] [client 127.0.0.1] raise exceptions.ImproperlyConfigured('Error importing middleware %s: "%s"' % (mw_module, e))
[Sun Feb 19 20:00:28 2012] [error] [client 127.0.0.1] ImproperlyConfigured: Error importing middleware django_openid.consumer: "No module named voting_extras"
Run Code Online (Sandbox Code Playgroud)
再次感谢大家...... WebFaction的人们最近放弃并告诉我来到这里,即使我已经有了哈哈
小智 17
在终端中,cd进入包含settings.py的目录,然后运行
python settings.py
Run Code Online (Sandbox Code Playgroud)
您可能会收到一个容易修复的导入错误(输入错误或语法错误).
mgi*_*nbr 11
您是否尝试将该文件夹明确添加到PYTHONPATH?此外,您可能需要添加两个项目文件夹和父之一.使用项目的路径将这些行添加到wsgi文件中:
sys.path.append('/explicit/path/to/myproject')
sys.path.append('/explicit/path/to')
Run Code Online (Sandbox Code Playgroud)
PS做到这一点之前application = WSGIHandler().
更新:新的错误,似乎有同样的原因,根据这个.请仔细检查"voting_extras"应用程序的位置,以及PYTHONPATH中是否存在其父文件夹.
我想你需要把你的东西添加到PYTHONPATH.我添加了我的项目,这是virtualenv.以下是每个项目wsgi的样子.
import sys
import site
import os
envpath = '/development/myproject/env/lib/python2.7/site-packages'
# we add currently directory to path and change to it
pwd = os.path.dirname(os.path.abspath(__file__))
os.chdir(pwd)
sys.path = [pwd] + sys.path
# Append paths
site.addsitedir(envpath)
# now start django
from django.core.handlers.wsgi import WSGIHandler
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
application = WSGIHandler()
Run Code Online (Sandbox Code Playgroud)
有 2 个问题,
virtualenv 应该使用这些行加载到 ~/apache2/bin/start 中,
WORKON_HOME=/home/pawesome/envs/pinax072/
. $WORKON_HOME/bin/activate
您应该使用 pinax 提供的 wsgi 文件,而不是我们的安装程序提供的文件,因为 pinax 有一些所需的自定义路径代码,
#WSGIScriptAlias / /home/pawesome/webapps/qtsocial/myproject.wsgi
WSGIScriptAlias / /home/pawesome/webapps/qtsocial/myproject/deploy/pinax.wsgi
| 归档时间: |
|
| 查看次数: |
46921 次 |
| 最近记录: |