首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从IPython运行烧瓶会引发SystemExit

从IPython运行烧瓶会引发SystemExit
EN

Stack Overflow用户
提问于 2018-03-23 18:38:18
回答 4查看 27K关注 0票数 13

我正在尝试从IPython运行我的烧瓶应用程序。但是,如果出现SystemExit错误,则会失败。

代码语言:javascript
运行
复制
from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello, World!'

if __name__ == '__main__':
   app.run(debug=True)

使用IPython运行此操作将显示以下错误:

代码语言:javascript
运行
复制
SystemExit                                Traceback (most recent call last)
<ipython-input-35-bfd7690b11d8> in <module>()
     17 
     18 if __name__ == '__main__':
---> 19    app.run(debug = True)

/Users/ravinderbhatia/anaconda/lib/python2.7/site-packages/flask/app.pyc in run(self, host, port, debug, **options)
    770         options.setdefault('use_debugger', self.debug)
    771         try:
--> 772             run_simple(host, port, self, **options)
    773         finally:
    774             # reset the first request information if the development server

/Users/ravinderbhatia/anaconda/lib/python2.7/site-packages/werkzeug/serving.py in run_simple(hostname, port, application, use_reloader, use_debugger, use_evalex, extra_files, reloader_interval, reloader_type, threaded, processes, request_handler, static_files, passthrough_errors, ssl_context)
    687         from ._reloader import run_with_reloader
    688         run_with_reloader(inner, extra_files, reloader_interval,
--> 689                           reloader_type)
    690     else:
    691         inner()

/Users/ravinderbhatia/anaconda/lib/python2.7/site-packages/werkzeug/_reloader.py in run_with_reloader(main_func, extra_files, interval, reloader_type)
    248             reloader.run()
    249         else:
--> 250             sys.exit(reloader.restart_with_reloader())
    251     except KeyboardInterrupt:
    252         pass

SystemExit: 1
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-03-23 18:52:34

您正在使用朱庇特笔记本或IPython运行开发服务器。您还启用了调试模式,这在默认情况下启用了重新加载器。重新加载程序尝试重新启动进程,IPython无法处理该进程。

最好使用flask命令来运行开发服务器。

代码语言:javascript
运行
复制
export FLASK_APP=my_app.py
export FLASK_DEBUG=1
flask run

或者使用普通的python解释器来运行应用程序,如果您仍然希望使用app.run,则不再推荐使用app.run

代码语言:javascript
运行
复制
python my_app.py

或者,如果您想从木星调用app.run,则禁用重新加载程序。

代码语言:javascript
运行
复制
app.run(debug=True, use_reloader=False)

在Visual代码中,若要在启动程序(而不是启动python)中设置flask run,请在..vscode/unch.json中使用此配置

代码语言:javascript
运行
复制
    {
      "name": "Python: Flask",
      "type": "python",
      "request": "launch",
      "module": "flask",
      "env": { "FLASK_APP": "my_app.py", "FLASK_ENV": "development" },
      "args": ["run"],
      "args_": ["run", "--no-debugger"],      
      "jinja": true
    }
票数 35
EN

Stack Overflow用户

发布于 2020-06-23 11:31:59

用这个,它对我来说很好:

app.run(debug=True,use_reloader=False)

票数 0
EN

Stack Overflow用户

发布于 2020-07-17 03:27:03

我也遇到了同样的问题,通过删除debug=True解决了这个问题。这是我的密码

代码语言:javascript
运行
复制
from flask import Flask

app=Flask(__name__)

@app.route('/')

def home():
    return "Homepage Here"

if __name__=="__main__":
    app.run()
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49456385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档