在 运行 flask 时是否有任何选项获得 ipython 命令提示符
Is there any option getting ipython command prompt while running flask
现在让我试着用例子来解释我的问题。
这是使用 Tkinter 的示例 GUI 代码
from Tkinter import *
root = Tk()
w = Label(root, text="Hello, world!")
w.pack()
root.mainloop()
如果我 运行 Ipython 中的这段代码,当 GUI 可见时,我不会得到命令提示符。
现在,如果我注释掉 "root.mainloop()" 行,代码在 Ipython 中仍然有效,并且我可以访问命令提示符,以便在代码为 运行ning 时检查数据。
现在进入 Flask 案例,
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
app.run()
当我在 Ipython 中 运行 这个应用程序时,我没有得到命令提示符。要在代码 运行ning 时访问变量,我需要停止 flask 服务器。
是否有任何选项可以 运行 flask 服务器并可以访问命令提示符?
谢谢
我赞同@NewWorld 并且会推荐一个调试器。您可以使用 IPython 调试器在 IPython shell 中检查程序。安装例如有:
pip install ipdb
然后加载调试器:ipdb.set_trace()
like;
@app.route('/')
def hello_world():
import ipdb; ipdb.set_trace()
return 'Hello World!'
这将打开 IPython 命令提示符,您可以检查 "data while the code is running"。
运行 单独线程中的烧瓶应用程序。
试试这个例子:-
from flask import Flask
import thread
data = 'foo'
app = Flask(__name__)
@app.route("/")
def main():
return data
def flaskThread():
app.run()
if __name__ == "__main__":
thread.start_new_thread(flaskThread,())
运行 这个文件在 ipython:-
"run -i filename.py"
然后你就可以访问ipython终端进行检查了。
如果您想使用 flask shell
到 ipython
,您可以安装以下软件包:
pip install flask-shell-ipython
现在让我试着用例子来解释我的问题。
这是使用 Tkinter 的示例 GUI 代码
from Tkinter import *
root = Tk()
w = Label(root, text="Hello, world!")
w.pack()
root.mainloop()
如果我 运行 Ipython 中的这段代码,当 GUI 可见时,我不会得到命令提示符。 现在,如果我注释掉 "root.mainloop()" 行,代码在 Ipython 中仍然有效,并且我可以访问命令提示符,以便在代码为 运行ning 时检查数据。
现在进入 Flask 案例,
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
app.run()
当我在 Ipython 中 运行 这个应用程序时,我没有得到命令提示符。要在代码 运行ning 时访问变量,我需要停止 flask 服务器。
是否有任何选项可以 运行 flask 服务器并可以访问命令提示符?
谢谢
我赞同@NewWorld 并且会推荐一个调试器。您可以使用 IPython 调试器在 IPython shell 中检查程序。安装例如有:
pip install ipdb
然后加载调试器:ipdb.set_trace()
like;
@app.route('/')
def hello_world():
import ipdb; ipdb.set_trace()
return 'Hello World!'
这将打开 IPython 命令提示符,您可以检查 "data while the code is running"。
运行 单独线程中的烧瓶应用程序。 试试这个例子:-
from flask import Flask
import thread
data = 'foo'
app = Flask(__name__)
@app.route("/")
def main():
return data
def flaskThread():
app.run()
if __name__ == "__main__":
thread.start_new_thread(flaskThread,())
运行 这个文件在 ipython:- "run -i filename.py" 然后你就可以访问ipython终端进行检查了。
如果您想使用 flask shell
到 ipython
,您可以安装以下软件包:
pip install flask-shell-ipython