【发布时间】:2014-09-21 11:24:30
【问题描述】:
我已经为此工作了 5 个多小时,看起来应该很简单。我按照instructions 通过 mod_wsgi 在 apache 上设置了一个烧瓶应用程序,完成它们后我收到一个错误
ImportError: cannot import name 'app'
从行:
from web_tool import app as application
我的名为 web_tool.wsgi 的 wsgi 文件看起来像:
import sys
sys.path.insert(0, "/path/web_tool/src/")
print(sys.version)
print(sys.path)
from web_tool import app as application
我的 python 版本和系统路径至少是正确的,所以我相信。
然后我存储在 apache2/sites-available/default 中的虚拟主机文件如下所示:
WSGIPythonHome /usr/local/opt/python-3.4.1
<VirtualHost *:4000>
ServerName my.servername.com
WSGIDaemonProcess web_tool user=my_username group=my_group threads=5
WSGIScriptAlias / /path/web_tool/src/web_tool/web_tool.wsgi
WSGIApplicationGroup %{GLOBAL}
<Directory /path/web_tool/src/web_tool/>
WSGIProcessGroup cnt_tool
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
您是否看到任何错误,我的 wsgi 文件是否应该与我的 python 文件一样被调用?我正在运行 python 3.4 和 mod_wsgi 3.4。
【问题讨论】:
-
你的
app脚本是在/path/web_tool/src/web_tool/app.py还是其他地方? -
它在 /path/web_tool/src/web_tool/web_tool.py
-
哈哈,非常感谢您的快速评论,我导入不正确,因为我认为 wsgi 需要 web_tool 类中的实际应用程序对象,但它首先需要该类。它现在正在工作,感谢法律。
-
您可能想写一个答案来解释您做错了什么以及如何解决它,并接受您自己的答案,如果您认为它可能会帮助其他有类似问题的人。
标签: python apache mod-wsgi wsgi