当我运行以下代码时,我收到错误消息:"不支持的操作:不可写":
from flask import Flask
app_flask = Flask(__name__)
@app_flask.route('/')
def hello_method():
return "Hello, main page!"
if __name__ == '__main__':
app_flask.run()
任何人都可以提供一些指导吗?我知道还有另一个类似的问题,但答案根本没有帮助。以下是错误消息的其余部分:
Traceback (most recent call last):
File "<ipython-input-13-a122d150300b>", line 20, in <module>
app_flask.run()
File "C:anaconda3libsite-packagesflaskapp.py", line 938, in run
cli.show_server_banner(self.env, self.debug, self.name, False)
File "C:anaconda3libsite-packagesflaskcli.py", line 629, in show_server_banner
click.echo(message)
File "C:anaconda3libsite-packagesclickutils.py", line 259, in echo
file.write(message)
UnsupportedOperation: not writable
我在这里找到了答案,由 josechval 提供: https://github.com/plotly/dash/issues/257
何塞 说: "您需要在 ../site-packages/click/utils.py."file"参数的默认值必须是sys.stdout而不是None。 对 "secho" 函数定义执行相同的操作。/site-packages/click/termui.py">
已经引用了同一问题的另一个解决方案:
降级烧瓶:
康达安装烧瓶=0.12.2
试试这个:
starting the app on port
try:
# works fine while running the py script in the command-line
app.run(debug=True,port=8000)
except:
# internal issue with Jupyter Notebook
print("Exception occured!")
# running manually
from werkzeug.serving import run_simple
run_simple('localhost', 9000, app)
Jupyter 笔记本似乎存在内部问题。
我在 ../site-packages/click/utils.py file 参数的默认值必须是 sys.stdout 而不是 None(行号为 166。 这是 --> def echo(message=None, file=sys.stdout, nl=True, err=False, color=None(: 我在 .. 处对 secho 函数定义做了同样的事情。/site-packages/click/termui.py 行号为 408 这是---> def secho(text, file=sys.stdout, nl=True, err=False, color=None, **styles(: