UnsupportedOperation:尝试运行Python应用服务器时不可写

时间:2018-06-26 07:15:19

标签: python python-3.x flask anaconda pymysql

 if __name__ == '__main__':
    app.run_server()

每当我尝试执行以上代码时,就会出现以下错误:

UnsupportedOperation                      Traceback (most recent call last)
<ipython-input-10-8f09ac2c0de3> in <module>()
    213 
    214 if __name__ == '__main__':
--> 215     app.run_server()

C:\ProgramData\Anaconda3\lib\site-packages\dash\dash.py in run_server(self, port, debug, **flask_run_options)
    566                    debug=False,
    567                    **flask_run_options):
--> 568         self.server.run(port=port, debug=debug, **flask_run_options)

C:\ProgramData\Anaconda3\lib\site-packages\flask\app.py in run(self, host, port, debug, load_dotenv, **options)
    936         options.setdefault('threaded', True)
    937 
--> 938         cli.show_server_banner(self.env, self.debug, self.name, False)
    939 
    940         from werkzeug.serving import run_simple

C:\ProgramData\Anaconda3\lib\site-packages\flask\cli.py in show_server_banner(env, debug, app_import_path, eager_loading)
    627             message += ' (lazy loading)'
    628 
--> 629         click.echo(message)
    630 
    631     click.echo(' * Environment: {0}'.format(env))

C:\ProgramData\Anaconda3\lib\site-packages\click\utils.py in echo(message, file, nl, err, color)
    257 
    258     if message:
--> 259         file.write(message)
    260     file.flush()
    261 

UnsupportedOperation: not writable

在这里,我正在连接到一个完全按照凭据连接的mysql服务器数据库。执行查询并将其成功读取到数据帧中。但是,当我尝试如上面第1,2行所述运行服务器时,它将显示此错误。

当我在同事计算机上运行此代码时,服务器已托管。 我尝试使用多个IDE(例如PyCharm,Rodeo,Jupyter Notebook等),但都给了我相同的错误。

我正在使用Python 3.6, 请帮助我解决此错误。

2 个答案:

答案 0 :(得分:0)

解决方法可以在这里找到: https://github.com/plotly/dash/issues/257

有两种选择:

  1. 转到您的'... / Anaconda3 / lib / site-packages / click /'文件夹并编辑两个* .py脚本
  

utils.py脚本

     

编辑回显功能

     

第166行显示:def echo(message=None, file=None, nl=True, err=False,color=None):

     

更改为def echo(message=None, file=sys.stdout, nl=True, err=False,color=None):

     

termui.py脚本

     

编辑回显功能

     

第408行显示:def secho(text, file=None, nl=True, err=False,color=None, **styles):

     

更改为def secho(text, file=sys.stdout,nl=True, err=False, color=None, **styles):

  1. 降级烧瓶conda install flask=0.12.2

答案 1 :(得分:-1)

尝试通过Jupyter笔记本运行时,这似乎是一个问题。尝试将代码复制到记事本文件,然后尝试从终​​端运行它。应该可以。