我有一个奇怪的问题,当我在PyCharm中或通过控制台(python script.py)在下面运行我的代码时,flask服务器需要非常长的启动时间,这意味着在尝试访问它时,它不显示任何内容。好几分钟。
import threading
from flask import render_template, request, logging, Flask, redirect
def setupFlask():
appn = Flask(__name__)
log = logging.getLogger('werkzeug')
log.setLevel(logging.ERROR)
@appn.route('/')
def page():
return render_template('index.html')
@appn.route('/submit', methods=['POST'])
def submit():
token = request.form['ID']
ID = token
return redirect('/')
appn.run()
a = threading.Thread(target=setupFlask)
a.daemon = True
a.start()
while True:
pass
奇怪的是,当我在PyCharm调试器中运行与上面相同的代码时,flask服务器启动大约需要5秒钟,这比在控制台中运行几分钟要快得多。我很喜欢正常运行脚本时的这种速度,由于在调试器中无法修复自身而无法找到解决方案! 此代码段是大型应用程序的一部分,但是我对其进行了修改,使其可以独立运行,并且出现相同的问题。 我没有在virtualenv中运行。 感谢所有帮助。
编辑:index.html文档非常基础,仅包含一些脚本和元素,因此我看不到它需要很长时间来加载。
答案 0 :(得分:2)
问题出在您的import pandas as pd
import csv
x = pd.read_csv('input.txt')
y = x[['col1','col2']]
with open("output.csv", "w") as f:
writer = csv.writer(f)
y.groupby(['col1']).agg(lambda x: writer.writerow(list(x.values)))
安装上,但是还有另外一个。您不应该使用Flask
循环来等待线程。更好的方法是join,如下所示:
while