【问题标题】:Flask Error with wsgi_handlerwsgi_handler 的烧瓶错误
【发布时间】:2017-07-17 11:38:18
【问题描述】:

我正在尝试在 Windows Server 上使用 WSGI 来运行一个简单的烧瓶应用程序。我一直遇到以下错误:

读取 WSGI 处理程序时发生错误:Traceback(最近调用 最后):文件“c:\inetpub\wwwroot\test_site\wfastcgi.py”,第 711 行,在 主环境,处理程序 = read_wsgi_handler(response.physical_path) 文件 “c:\inetpub\wwwroot\test_site\wfastcgi.py”,第 568 行,在 read_wsgi_handler 返回 env, get_wsgi_handler(handler_name) 文件 “c:\inetpub\wwwroot\test_site\wfastcgi.py”,第 551 行,在 get_wsgi_handler raise ValueError('"%s" 无法导入'% handler_name) ValueError: "app.app" 无法导入 StdOut: 标准误差

对于我的站点,我配置了一个处理程序以从 Microsoft Web 平台安装程序调用 FastCGIModule

我的应用文件如下所示:

from flask import Flask, request, jsonify
from analyzers import analyzer
import write_log

app = Flask(__name__)

@app.route("/")
def test():
    return "Test load"

@app.route('/analyze', methods=['POST'])
def parse():
    text = request.json['text']
    name = request.json['name']
    model = request.json['model']
    try:
        convert_flag = request.json['convert_flag']
    except KeyError:
        convert_flag = False
    results= analyzer(text, name, model, convert_dose=convert_flag)
    write_log.write_log(text, name, model, results)
    return jsonify(results)

if __name__ == "__main__":
    app.run()

如果我注释掉分析器脚本和 write_log 脚本的自定义导入以及 POST 方法,事情就会运行,所以我知道我一定是搞砸了。

有人有什么建议吗?

提前致谢。

保罗

【问题讨论】:

  • 你能得到这个问题的答案吗?谢谢
  • @labheshr 对不起,我不是。一直想不通。

标签: python iis flask fastcgi


【解决方案1】:

我遇到了同样的问题,问题出在第三方库上。导致您的问题的原因肯定是不同的,但这是我为确定我的问题所做的一些事情,也可能对您有所帮助:

  1. 打开 wfastcgi.py
  2. 找到方法get_wsgi_handler(可能在519行)
  3. try/except 中有一个 while module_name 语句
  4. raise 添加到except 块的末尾并保存文件,如下所示:

    except ImportError:
        ...
        raise
    
  5. 再次访问您的网站 URL 并检查您的日志,它们现在应该更详细地说明导致 ImportError 的原因,并将为您指出解决问题的正确方向

【讨论】:

    猜你喜欢
    • 2021-04-29
    • 2013-08-19
    • 2011-04-10
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    相关资源
    最近更新 更多