Flask -SocketIO работает под Werkzeug Как запустить сервер на eventlet? - PullRequest
0 голосов
/ 15 января 2020

Я запускаю свое приложение test.py на Win10 в виртуальной среде venv

Я установил eventlet

Мой код:

from flask import Flask, render_template
from flask_socketio import SocketIO, emit

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

@app.route('/')
def output():    
    return render_template('part.html')

@socketio.on('connect')
def app_connect():
    print('Client connected');
    emit('my_event', {'number': "12345678"})


if __name__ == '__main__':
        socketio.run(app)

при запуске: «flask run» я получаю следующий результат

(vfern) C:\Users\ps\Python\fernb>flask run
 * Serving Flask app "test.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
[2020-01-15 18:40:30,941] WARNING in __init__: Flask-SocketIO is Running under Werkzeug, WebSocket is not available.

, если я запускаю «python test.py», я получаю:

  File "C:\Users\ps\Python\fernb\socket.py", line 1, in <module>
    from flask import Flask, render_template
ImportError: cannot import name 'Flask' from partially initialized module 'flask' (most likely due to a circular import) (C:\Users\ps\Python\fernb\vfern\lib\site-packages\flask\__init__.py)

Любая помощь приветствуется

1 Ответ

0 голосов
/ 16 января 2020

Тем временем я обнаружил, что когда в моей виртуальной среде есть только один файл foo.py, работает команда "python test.py" и устанавливается socketio. Кто-нибудь может объяснить это?

...