安装我的第一个WSGI

时间:2013-04-08 13:58:44

标签: python apache flask mod-wsgi wsgi

我正在使用apache modewsgi安装一个烧瓶应用程序。

我已经解决了多个问题: - 环境变量 - virtualenv - 文件权限

但是现在我真的被应用程序名称困住了。我不知道在WSGI文件的“from”指令中写什么。

这是我的~user / appname.com / appname.com.wsgi

activate_this = '/home/user/appname.com/venv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
import sys
sys.path.insert(0, '/home/user/appname.com')
from appname.com import app as application

会导致以下日志。

[Mon Apr 08 15:50:26 2013] [error] [client 64.120.6.170] mod_wsgi (pid=6392): Exception occurred processing WSGI script '/home/user/appname.com/appname.com.wsgi'.
[Mon Apr 08 15:50:26 2013] [error] [client 64.120.6.170] Traceback (most recent call last):
[Mon Apr 08 15:50:26 2013] [error] [client 64.120.6.170]   File "/home/user/appname.com/appname.com.wsgi", line 5, in <module>
[Mon Apr 08 15:50:26 2013] [error] [client 64.120.6.170]     from appname.com import app as application
[Mon Apr 08 15:50:26 2013] [error] [client 64.120.6.170] ImportError: No module named appname.com

但是如果我从appname.com删除了我可以从python命令行运行.wsgi而没有错误但是在apache中,它会抛出下面的错误......

[Mon Apr 08 15:27:31 2013] [error] [client 64.120.6.170] mod_wsgi (pid=6274): Exception occurred processing WSGI script '/home/user/appname.com/appname.com.wsgi'.
[Mon Apr 08 15:27:31 2013] [error] [client 64.120.6.170] TypeError: 'module' object is not callable

更新:

这是~user / appname.com /

的结构
app/
    controller.py
    __init__.py
    models.py
    ...
    static/
        ...
    templates/
config.py
Procfile
README
requirements.txt
run.py
appname.com.wsgi

2 个答案:

答案 0 :(得分:2)

由于您的目录结构如何,您需要添加:

  • /家庭/用户

到sys.path。

要解释第二个错误是什么,需要查看'com.py'中的内容。

我建议尽管将目录命名为“appname.com”是一个非常糟糕的主意。 '。'的存在在目录名称中会混淆Python。

答案 1 :(得分:-2)

原来我需要写

from app import app as application