Python3对flask测试时出现报UnsupportedOperation

新手上路,请多包涵

描述

Python3对flask测试时出现报UnsupportedOperation

题目来源及自己的思路

来源:在按照《Python3网络爬虫开发实战》1.6.1节进行flask的安装及测试
思路:查询过flask文档---安装及快速入门,试图发现是不是设置出来问题;查询过百度是否有过相关的解决方案;看过报错中的文档也不知何处出问题

相关代码

//
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():

return 'Hello World!'

if name == '__main__':

app.run()

//

期待的结果与实际看到的错误信息

期待的结果:我希望可以正常通过测试使用flask即可
实际看待的错误信息:
Traceback (most recent call last):

File "<ipython-input-9-aa76cd996e6c>", line 10, in <module>

app.run()

File "D:Softwareanacondalibsite-packagesflaskapp.py", line 938, in run

cli.show_server_banner(self.env, self.debug, self.name, False)

File "D:Softwareanacondalibsite-packagesflaskcli.py", line 629, in show_server_banner

click.echo(message)

File "D:Softwareanacondalibsite-packagesclickutils.py", line 259, in echo

file.write(message)

UnsupportedOperation: not writable

问题出现的环境背景:win10,python3.6

阅读 6.8k
2 个回答

这个错误应该就是echo执行的时候输出文件到一个不可写的地方就报错。

这个在github上是一个closed的issue
意思就是需要修改一下以下文件:

  • site-packages/click/utils.py里的echo函数None改为sys.stdout
  • ../site-packages/click/termui.py里的secho函数也同样修改。
You need to edit the echo function definition at ../site-packages/click/utils.py the default value for the file parameter must be sys.stdout instead of None.
Do the same for the secho function definition at ../site-packages/click/termui.py
新手上路,请多包涵

最后我通过修改计算机名字(原本为中文),后面修改为英文结果就不报这个错了,也不知道为什么
(思路来源:https://www.jianshu.com/p/d4e...

大家以后若遇到了,或许可以参考一下下
开始报错是链接那个,可后面开始百度,开始试那些方法,结果不知为何变成我所提的那个错了

谢谢大佬~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进