Flask, Windows, IIS, Plotly-Dash. Error Occured While reading WSGI handler

I’m hoping you can help me with errors that I’m getting with Flask in an attempt to deploy plotly-dash on a Windows server.

I’ve set up Flask using the following guide, verbatim, except the location of my website within the wwwroot folder: Flask on IIS

My error isnt specifically with Dash, but I’m hoping that with the expertise available on this forum, you can probably help or at least point me in the right direction, as follows:

Error occurred while reading WSGI handler: 
Traceback (most recent call last): 
File "C:\inetpub\wwwroot\wfastcgi.py", line 791, in main env, handler = read_wsgi_handler(response.physical_path) 
File "C:\inetpub\wwwroot\wfastcgi.py", line 633, in read_wsgi_handler handler = get_wsgi_handler(os.getenv("WSGI_HANDLER")) 
File "C:\inetpub\wwwroot\wfastcgi.py", line 600, in get_wsgi_handler handler = __import__(module_name, fromlist=[name_list[0][0]]) 
File ".\app.py", line 1, in import dash 
File "C:\Python36\lib\site-packages\dash\__init__.py", line 1, in from .dash import Dash # noqa: F401 
File "C:\Python36\lib\site-packages\dash\dash.py", line 12, in import plotly 
File "C:\Python36\lib\site-packages\plotly\__init__.py", line 31, in from plotly import (plotly, dashboard_objs, graph_objs, grid_objs, tools, 
File "C:\Python36\lib\site-packages\plotly\plotly\__init__.py", line 10, in from . plotly import ( 
File "C:\Python36\lib\site-packages\plotly\plotly\plotly.py", line 30, in from plotly import exceptions, files, session, tools, utils 
File "C:\Python36\lib\site-packages\plotly\tools.py", line 59, in ipython_core_display = optional_imports.get_module('IPython.core.display') 
File "C:\Python36\lib\site-packages\plotly\optional_imports.py", line 23, in get_module return import_module(name) 
File "C:\Python36\lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) 
File "C:\Python36\lib\site-packages\IPython\__init__.py", line 55, in from .terminal.embed import embed 
File "C:\Python36\lib\site-packages\IPython\terminal\embed.py", line 15, in from IPython.core.interactiveshell import DummyMod, InteractiveShell 
File "C:\Python36\lib\site-packages\IPython\core\interactiveshell.py", line 61, in from IPython.utils import io 
File "C:\Python36\lib\site-packages\IPython\utils\io.py", line 95, in stdin = IOStream(sys.stdin, fallback=devnull) 
File "C:\Python36\lib\site-packages\IPython\utils\io.py", line 39, in __init__ for meth in filter(clone, dir(stream)): 
File "C:\Python36\lib\site-packages\IPython\utils\io.py", line 38, in clone return not hasattr(self, meth) and not meth.startswith('_') 
File "C:\Python36\lib\site-packages\IPython\utils\io.py", line 82, in closed return self.stream.closed 
ValueError: underlying buffer has been detached StdOut: StdErr:

I’ve been googling and tweaking my settings for hours and hours, any ideas?

Server is running Windows 2008 R2 with IIS 7.5

Hi @roastbeeef,

Did you check out the following post?

https://community.plotly.com/t/solved-deploy-dash-on-iis-error/5434/3

Uninstallling ipython worked for me…

1 Like

Thats worked for me, thanks! I’ve now got another error though…
Error occurred: Traceback (most recent call last): File “C:\inetpub\wwwroot\wfastcgi.py”, line 847, in main result = handler(record.params, response.start)
TypeError: ‘Dash’ object is not callable StdOut: StdErr: C:\Python34\lib\site-packages\plotly\tools.py:103: UserWarning: Looks like you don’t have ‘read-write’ permission to your ‘home’ (’~’) directory or to our ‘~/.plotly’ directory.
That means plotly’s python api can’t setup local configuration files. No problem though! You’ll just have to sign-in using ‘plotly.plotly.sign_in()’. For help with that: ‘help(plotly.plotly.sign_in)’. Questions? Visit https://support.plot.ly

Is this just relating to windows permissions?

thanks,
Matt

Hi @roastbeeef,

The following:

"That means plotly’s python api can’t setup local configuration files. You'll just have to sign-in using ‘plotly.plotly.sign_in()’. For help with that: ‘help(.plotly.sign_in)’."

Suggests to me that you might not have your dash running locally. Have you done the following:

app.stylesheets.serve_locally=True
app.scripts.serve_locally=True

Which is from the followig link:

https://dash.plot.ly/external-resources

Also, if that doesnt work, see chriddy p’s answer here:

I’ve met same problem. and After I uninstalled ipython, I got successful result . but I also need use jupyter notebook. After uninstall ipython, jupyter notebook does infinite loop. Is there any clear solutions?