• python 自带idle运行flask 报错io.UnsupportedOperation: fileno 解决方法


    win10,python3.7。
    自己使用Flask编写了一个python web Demo。在使用idle运行的时候报错了:

    代码:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    import subprocess
    import flask,json

    #flask 开发接口

    #python自带的idle运行会报错,cmd下运行可以


    #1.定义server
    server=flask.Flask(__name__)
    #2第一个参数就是路径,第二个参数支持的请求方式,不写的话默认是get
    @server.route('/index',methods=['get','post'])
    def index():
        res={'msg':'这是我开发的第一个借口','msg_code':0}
        return json.dumps(res,ensure_ascii=False)
    #3执行
    server.run(port=5001,debug=True,host='0.0.0.0')

    运行:

      File "D:/my/py/flask_test.py", line 14, in <module>
        server.run(port=5001,debug=True,host='0.0.0.0')
      File "C:Python37libsite-packagesflaskapp.py", line 985, in run
        cli.show_server_banner(self.env, self.debug, self.name, False)
      File "C:Python37libsite-packagesflaskcli.py", line 670, in show_server_banner
        click.echo(message)
      File "C:Python37libsite-packagesclickutils.py", line 218, in echo
        file = _default_text_stdout()
      File "C:Python37libsite-packagesclick\_compat.py", line 675, in func
        rv = wrapper_func()
      File "C:Python37libsite-packagesclick\_compat.py", line 436, in get_text_stdout
        rv = _get_windows_console_stream(sys.stdout, encoding, errors)
      File "C:Python37libsite-packagesclick\_winconsole.py", line 295, in _get_windows_console_stream
        func = _stream_factories.get(f.fileno())
    io.UnsupportedOperation: fileno

    原因:应为使用idle引起的。
    所以换成了win10自带的powershell来运行 python app.py。就没有了这个错误。

    cmd-输入powershell进入:

  • 相关阅读:
    【NOIP2006T】作业调度方案
    「NOIP2012P」寻宝
    51Nod1084 矩阵取数问题 V2
    51Nod1294 修改数组
    51nod1122 机器人走方格V4
    多项式相关模板#1
    51Nod1514 美妙的序列
    Jzoj5674 香槟
    Jzoj5669 排列
    Jzoj5665 奥立卡的诗
  • 原文地址:https://www.cnblogs.com/lisa2016/p/12189072.html
Copyright © 2020-2023  润新知