繁体   English   中英

ImportError:无法导入名称'app'

[英]ImportError: cannot import name 'app'

我已经为此工作了5个多小时,看起来应该很简单。 我按照说明通过mod_wsgi在apache上设置了一个烧瓶应用程序,在完成它们后,我收到一个错误

ImportError: cannot import name 'app'

从行:

from web_tool import app as application

我的wsgi文件名为web_tool.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。

在被abarnert提示之后,我意识到在Flask和Apache的更大结构中它不是问题,而只是我的导入结构。 所以我的解决方案让它工作就是先确保我做到了

from web_tool import web_tool as application

因为我的项目结构看起来像

/path/web_tool/src/web_tool/
    web_tool.py
    web_tool.wsgi

我认为命名文件夹与主python脚本相同,但同样困惑但后来我直截了当。 现在上面的导入仍然无法正常工作,因为我遇到了一个模块错误但是工作原理是:

from web_tool import web_tool
application = web_tool.app

我没有在网上或任何其他SO答案中看到这种结构,但这可能是因为我的特定项目结构。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM