【问题标题】:python3 IDLE3 Flask Socket IO errorpython3 IDLE3 Flask Socket IO错误
【发布时间】:2018-02-10 21:35:51
【问题描述】:

是的,所以当我遇到此代码 sn-p 时,我正在使用空闲,浏览堆栈溢出。它是一个基本的 python 烧瓶 Socket Io 应用程序,它没有任何系统调用。但是,由于某种原因,当我运行它时,IDLE 只是重新启动 shell。当我添加调试打印语句时:print(3),这是我得到的回溯 * Restarting with stat--- Logging error --- Traceback (most recent call last):Traceback (most recent call last): 在科伦之后什么都没有。 以下是我试图运行的代码:

from flask import Flask, render_template                                    
from flask_socketio import SocketIO, emit                                      
print(3)
app = Flask(__name__)                                                           

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

@socketio.on('connect')                                                          
def connect():                                                                 
    emit('message', {'hello': "Hello"})                                         

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

socketio.run(app, debug=True) 

PS:它在终端正确运行

【问题讨论】:

  • IDLE 在其 GUI 进程的子进程中运行您的代码,因此内部环境与在终端中运行时略有不同。虽然很少见,但这可能会导致依赖于内部细节的代码出现问题。 IDLE Shell 重新启动几乎可以肯定意味着单独的进程崩溃了。如果您在终端中使用python -m idlelib 开始空闲,您可能会得到更好的行为,因为这会改变某些内部细节,或者会得到更好的错误消息。

标签: python python-3.x flask python-idle flask-socketio


【解决方案1】:

重要

原来是因为安装了gevent

我知道为什么 gevent 会中断空闲,但我安装它是因为 socketio 输出建议这样做。

现在你知道了

【讨论】:

    猜你喜欢
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 2018-07-30
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 2014-01-17
    • 1970-01-01
    相关资源
    最近更新 更多