请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

windows tornado+flask发布问题

from flask import Flask,request,render_template
from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop

app = Flask(name)
@app.route(’/’, methods=[‘GET’])
def index(name = None):
if request.method == ‘GET’:
name = "WEB SERVER"
return render_template(‘index.html’,name=name)

if name == ‘main’:
try:
http_server = HTTPServer(WSGIContainer(app))
http_server.listen(5000)
IOLoop.instance().start()
app.debug = True
#app.run(host=‘0.0.0.0’, port=80, debug=True)
except:
pass

运行这个文件,也不提示错误,系统直接退出了,
运行后程序直接退出了,无法启动多并发处理
改成那个注释的语句:
app.run(host=‘0.0.0.0’, port=80, debug=True)
是没有问题的

正在回答 回答被采纳积分+3

2回答

编程浪子 2020-02-11 19:21:32

你好

参考下这个文章,我当时没遇到,你看看这个是否可以

https://blog.csdn.net/agent_bin/article/details/103082046 


0 回复 有任何疑惑可以回复我~
编程浪子 2020-02-10 21:38:49

你好

if name == ‘main’:

 if __name__ == "__main__":
 
这种错误太低级了。本身都可以看出来的,或者对比下源码


0 回复 有任何疑惑可以回复我~
  • 提问者 慕数据7325337 #1
    源码里是if __name__ == "__main__":
    只是复制到提问里,少了两个下划线,代码是我直接从你的git上全文件复制的,所以不是这个问题,我有编写了一个最简单的文件,如下,
    from flask import Flask, request, render_template
    from tornado.wsgi import WSGIContainer
    from tornado.httpserver import HTTPServer
    from tornado.ioloop import IOLoop
    
    app = Flask(__name__)
    
    
    @app.route('/', methods=['GET'])
    def index(name=None):
        if request.method == 'GET':
            name = "WEB SERVER"
            return render_template('index.html', name=name)
    
    
    def main():
        http_server = HTTPServer( WSGIContainer(app) )
        http_server.listen( 5000 )
        IOLoop.instance().start()
    
    if __name__ == "__main__":
        try:
            import sys
            sys.exit( main() )
        except Exception as e:
            import traceback
            traceback.print_exc()
    
    
    也是同样的错误,所以我怀疑是环境的问题,但是不知道是什么问题,网上查了很多资料,没看懂,错误截图我是实在截取不下来,
    所以把错误复制出来,您给看看,就差最后一步发布了,因为我这里的客户用的服务器是win系统,
    上面还有其它服务软件,没法装linux系统的
    
    错误提示如下:
    回复 有任何疑惑可以回复我~ 2020-02-11 11:20:48
  • 提问者 慕数据7325337 #2
    回复 慕数据7325337
    E:\python\pp4\4.4>python index.py
    Traceback (most recent call last):
      File "index.py", line 24, in <module>
        sys.exit( main() )
      File "index.py", line 18, in main
        http_server.listen( 5000 )
      File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\tornado\tcpserver.py", line 152, in listen
        self.add_sockets(sockets)
      File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\tornado\tcpserver.py", line 166, in add_sockets
        self._handlers[sock.fileno()] = add_accept_handler(
      File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\tornado\netutil.py", line 279, in add_accept_handler
        io_loop.add_handler(sock, accept_handler, IOLoop.READ)
      File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\tornado\platform\asyncio.py", line 99, in add_handler
        self.asyncio_loop.add_reader(fd, self._handle_events, fd, IOLoop.READ)
      File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\asyncio\events.py", line 501, in add_reader
        raise NotImplementedError
    NotImplementedError
    回复 有任何疑惑可以回复我~ 2020-02-11 11:24:51
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信