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進入: