我正在使用 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
但是,如果我删除 fromappname.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