【发布时间】: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