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:\Python37\lib\site-packages\flask\app.py", line 985, in run
    cli.show_server_banner(self.env, self.debug, self.name, False)
  File "C:\Python37\lib\site-packages\flask\cli.py", line 670, in show_server_banner
    click.echo(message)
  File "C:\Python37\lib\site-packages\click\utils.py", line 218, in echo
    file = _default_text_stdout()
  File "C:\Python37\lib\site-packages\click\_compat.py", line 675, in func
    rv = wrapper_func()
  File "C:\Python37\lib\site-packages\click\_compat.py", line 436, in get_text_stdout
    rv = _get_windows_console_stream(sys.stdout, encoding, errors)
  File "C:\Python37\lib\site-packages\click\_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進入:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM