Python 表现出奇怪和幻想行为的本地服务器

Python 表现出奇怪和幻想行为的本地服务器,python,flask,localhost,Python,Flask,Localhost,我正在Flask中开发一个个人网站,我注意到本地服务器为我工作的方式有些奇怪 当我执行以下操作时: $ export FLASK_APP=run.py $ flask run ^C * Serving Flask app "run" Traceback (most recent call last): File "/usr/local/bin/flask", line 11, in <module> sys.exit(main()) File "/usr/local

我正在Flask中开发一个个人网站,我注意到本地服务器为我工作的方式有些奇怪

当我执行以下操作时:

$ export FLASK_APP=run.py
$ flask run
^C * Serving Flask app "run"
Traceback (most recent call last):
  File "/usr/local/bin/flask", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/flask/cli.py", line 507, in main
    cli.main(args=args, prog_name=name)
  File "/usr/local/lib/python2.7/dist-packages/flask/cli.py", line 374, in main
    return AppGroup.main(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args[1:], **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/flask/cli.py", line 432, in run_command
    use_debugger=debugger, threaded=with_threads)
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 708, in run_simple
    inner()
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 670, in inner
    fd=fd)
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 564, in make_server
    passthrough_errors, ssl_context, fd=fd)
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 474, in __init__
    socket.SOCK_STREAM)
socket.error: [Errno 9] Bad file descriptor
将显示此消息:

 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger pin code: 262-302-085
那很好。但当我实际转到
127.0.0.1:5000时,服务器挂起,什么也没有发生。当我说“挂起”时,我的意思是页面保持空白,但加载图标表示连接成功,但网站内容没有加载。但是,当我
CTRL+C
关闭脚本时,网站将加载。在这样做之前,它说:

$ export FLASK_APP=run.py
$ flask run
^C * Serving Flask app "run"
Traceback (most recent call last):
  File "/usr/local/bin/flask", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/flask/cli.py", line 507, in main
    cli.main(args=args, prog_name=name)
  File "/usr/local/lib/python2.7/dist-packages/flask/cli.py", line 374, in main
    return AppGroup.main(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args[1:], **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/flask/cli.py", line 432, in run_command
    use_debugger=debugger, threaded=with_threads)
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 708, in run_simple
    inner()
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 670, in inner
    fd=fd)
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 564, in make_server
    passthrough_errors, ssl_context, fd=fd)
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 474, in __init__
    socket.SOCK_STREAM)
socket.error: [Errno 9] Bad file descriptor
^C*服务烧瓶应用程序“运行”
回溯(最近一次呼叫最后一次):
文件“/usr/local/bin/flask”,第11行,在
sys.exit(main())
文件“/usr/local/lib/python2.7/dist-packages/flask/cli.py”,第507行,主文件
cli.main(args=args,prog_name=name)
文件“/usr/local/lib/python2.7/dist packages/flask/cli.py”,第374行,在main中
返回AppGroup.main(self、*args、**kwargs)
文件“/usr/local/lib/python2.7/dist-packages/click/core.py”,主目录第697行
rv=自调用(ctx)
文件“/usr/local/lib/python2.7/dist packages/click/core.py”,调用中的第1066行
返回进程结果(sub_ctx.command.invoke(sub_ctx))
文件“/usr/local/lib/python2.7/dist packages/click/core.py”,第895行,在invoke中
返回ctx.invoke(self.callback,**ctx.params)
文件“/usr/local/lib/python2.7/dist packages/click/core.py”,调用中的第535行
返回回调(*args,**kwargs)
文件“/usr/local/lib/python2.7/dist packages/click/decorators.py”,第64行,在new_func中
返回ctx.invoke(f,obj,*args[1:],**kwargs)
文件“/usr/local/lib/python2.7/dist packages/click/core.py”,调用中的第535行
返回回调(*args,**kwargs)
文件“/usr/local/lib/python2.7/dist packages/flask/cli.py”,第432行,在run_命令中
使用\u调试器=调试器,线程=与\u线程一起使用)
文件“/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py”,第708行,以简单方式运行
内()
文件“/usr/local/lib/python2.7/dist-packages/werkzeug/service.py”,第670行,内部
fd=fd)
文件“/usr/local/lib/python2.7/dist packages/werkzeug/service.py”,第564行,在make_服务器中
传递错误,ssl上下文,fd=fd)
文件“/usr/local/lib/python2.7/dist packages/werkzeug/service.py”,第474行,在__
socket.SOCK_流)
socket.error:[Errno 9]错误的文件描述符
我以为这是一个错误或什么的,所以我
CTRL+C
,然后回到命令行。我刷新了页面,希望网站能够关闭,但它仍然存在!不仅如此,当我在站点中移动并刷新页面时,终端似乎重新启动了该过程,并在终端中显示HTTP 2xx状态代码。奇怪。所以我杀死了chromium和我的终端,网站仍然加载!所以我删除了我最后一个小时的缓存,重新启动了我的笔记本电脑,但它仍然在运行!又过了十分钟,它就悄无声息地失败了,但我真的不明白这里发生了什么

谁能对这个迷茫的孩子发发发慈悲吗?因为我似乎不应该在网站加载之前杀死脚本。除了明显的问题外,有些事情让人感觉不舒服。有人知道我做错了什么吗?我已经能够重现这个问题,现在已经不止一次了

多谢各位

编辑:修正了一句话,并澄清了问题的可再现性