Python 重新定向标准输出时,Flask禁用标准输出

Python 重新定向标准输出时,Flask禁用标准输出,python,flask,Python,Flask,我希望使用Flask应用程序的标准输出将状态信息传递给通过管道连接的其他进程,但事实证明,当标准输出被重定向时,Flask以某种方式禁用了标准输出 这是我的示例烧瓶应用程序: from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' def prepare(): # Do some preparation work pa

我希望使用Flask应用程序的标准输出将状态信息传递给通过管道连接的其他进程,但事实证明,当标准输出被重定向时,Flask以某种方式禁用了标准输出

这是我的示例烧瓶应用程序:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

def prepare():
    # Do some preparation work
    pass

prepare()

print('ready')
现在比较两种不同但非常相似的启动此应用程序的方法:

$ FLASK_APP=my_app.py flask run 2>/dev/null
 * Serving Flask app "my_app.py"
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
ready
当标准输出被重定向时,我的状态消息被静音(但当通过web界面访问时,应用程序可以工作):

有人知道如何允许标准输出消息通过Flask应用程序中的管道吗

我不能将web界面用于此目的,因为我有一个在首次请求之前用
@修饰的函数
,查询状态将触发它,这是我不想要的

版本信息:

$ flask --version
Python 3.6.12
Flask 1.1.2
Werkzeug 1.0.1
$ flask --version
Python 3.6.12
Flask 1.1.2
Werkzeug 1.0.1