【发布时间】:2016-07-12 12:26:51
【问题描述】:
这是一个带有语法错误的简单 Flask 应用程序(应该是 sys.version,而不是 sys.version()
from flask import Flask, url_for, request, render_template
import sys
app = Flask(__name__)
app.config.from_object(__name__)
@app.route('/')
def index():
version = sys.version()
return "This is the index page. Python version info: {}".format(version)
if __name__ == '__main__':
app.run(debug=True)
当我在本地运行它并尝试访问 http://localhost:5000 时,我得到了不错的 Werkzeug 调试器:
但是当我在远程服务器(Apache 2.4.17,mod_wsgi 4.4.21)上运行它时,我只得到一个通用的 500 错误页面:
我已经尝试了各种方法来完成这项工作:
- 在
app = Flask(__name__)之后设置app.debug = True - 基于this link,我也尝试添加此代码:
from werkzeug.debug import DebuggedApplication
application = DebuggedApplication(app, True)
但似乎没有任何帮助。
我知道调试器在分叉的环境中不起作用,但根据this link,mod_wsgi 的默认模式是不 被分叉。我的 Apache 配置是:
WSGIDaemonProcess flasktest user=david group=devgrp threads=1 python-path=/apps/www/80/wsgi-scripts/FlaskTest:/apps/.virtualenvs/flasktest/lib/python3.4/site-packages
那么为什么我不能得到漂亮的调试器呢?
编辑:这是我添加的修改后的文件(不起作用)
from flask import Flask
import sys
app = Flask(__name__)
app.config.from_object(__name__)
app.debug = True
from werkzeug.debug import DebuggedApplication
application = DebuggedApplication(app, True)
@app.route('/')
def index():
version = sys.version()
return "This is the index page. Python version info: {}".format(version)
if __name__ == '__main__':
app.run(debug=True)
【问题讨论】:
标签: python apache flask mod-wsgi werkzeug