RuntimeError:您需要使用eventlet服务器

问题描述 投票:0回答:1

我正在按照以下方式设置Flask应用程序:

from flask import Flask, render_template
from flask_socketio import SocketIO

app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO()
socketio.init_app(app)

# All the code ...

运行uWSGI时,我传递了以下参数:

uwsgi --socket app.sock --http-websockets --master --wsgi-file app.py --callable app

但是这样做,出现以下错误:

RuntimeError:您需要使用事件服务器。有关更多信息,请参见文档的“部署”部分。

[我怀疑我的代码返回的app没有包装SocketIO系统,因此在使用uwsgi时,使用eventlet失败。

我应该为uwsgi服务以使其起作用吗?

flask flask-socketio
1个回答
0
投票

uWSGI与gevent结合使用,而不与eventlet结合使用。看来您在virtualenv中安装了eventlet,这令人困惑。卸载eventlet,安装gevent(如果尚未安装),然后我认为您会得到更好的结果。

© www.soinside.com 2019 - 2024. All rights reserved.