Python Flask UnsupportedOperation:不可写

时间:2018-07-04 21:25:58

标签: python flask

运行以下代码时,出现错误消息:“ UnsupportedOperation:不可写”:

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:\anaconda3\lib\site-packages\flask\app.py", line 938, in run
    cli.show_server_banner(self.env, self.debug, self.name, False)

  File "C:\anaconda3\lib\site-packages\flask\cli.py", line 629, in show_server_banner
    click.echo(message)

  File "C:\anaconda3\lib\site-packages\click\utils.py", line 259, in echo
    file.write(message)

UnsupportedOperation: not writable

4 个答案:

答案 0 :(得分:4)

我在这里找到了答案,这是由约瑟夫(Josechval)提供的: https://github.com/plotly/dash/issues/257

乔斯说: “您需要在../ site-packages / click / utils.py 中编辑“ echo”函数定义。“ file”参数的默认值必须为 sys.stdout < / strong>,而不是。 对../ site-packages / click / termui.py

中的“ secho”功能定义执行相同的操作

答案 1 :(得分:4)

来自同一issue的另一种解决方案已被引用:

降级烧瓶:

  

conda install flask = 0.12.2

答案 2 :(得分:0)

试试这个:

 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 notebook 似乎存在内部问题。

答案 3 :(得分:0)

我在 ../site-packages/click/utils.py 编辑了 echo 函数定义,文件参数的默认值必须是 sys.stdout 而不是 None(行号是 166。 这是 --> def echo(message=None, file=sys.stdout, nl=True, err=False, color=None): 我对 ../site-packages/click/termui.py 中的 secho 函数定义做了同样的事情 行号是 408 这是 ---> def secho(text, file=sys.stdout, nl=True, err=False, color=None, **styles):