【发布时间】:2021-06-15 07:39:16
【问题描述】:
当使用 wfastcgi 在 IIS 上部署 python 3.7+ flask 或 Dash 应用程序时,有很多很棒的教程可以让你的工作程序正常工作,例如
这个过程对我来说是分崩离析的,而对于其他用户来说,比如
Can't get dash app run on IIS with flask server
How to deploy python flask application in conda base environment on IIS server?
是其他包开始加入的时候,例如 Numpy、Pandas、Dash、Plotly Express 等。
抛出的错误往往取决于包,但通常类似于一大块测试,看起来像下面以 Error occurred while reading WSGI handler 开头的错误,并具有诸如 Dll 加载失败或缺少组件之类的内容。
Error occurred while reading WSGI handler: Traceback (most recent call last): File "C:\ProgramData\Anaconda3\envs\dash_search_app\lib\site-packages\wfastcgi.py", line 791, in main env,
handler = read_wsgi_handler(response.physical_path) File "C:\ProgramData\Anaconda3\envs\dash_search_app\lib\site-packages\wfastcgi.py", line 633,
in read_wsgi_handler handler = get_wsgi_handler(os.getenv("WSGI_HANDLER")) File "C:\ProgramData\Anaconda3\envs\dash_search_app\lib\site-packages\wfastcgi.py", line 616,
in get_wsgi_handler raise ValueError('"%s" could not be imported%s' % (handler_name, last_tb)) ValueError: "dashapp.server" could not be imported: Traceback
(most recent call last): File "C:\ProgramData\Anaconda3\envs\dash_search_app\lib\site-packages\wfastcgi.py", line 600,
in get_wsgi_handler handler = __import__(module_name, fromlist=[name_list[0][0]]) File ".\dashapp.py", line 3, in from flaskapp import app File ".\flaskapp\__init__.py",
line 67, in register_dashapps(app) File ".\flaskapp\__init__.py", line 19, in register_dashapps from flaskapp.dashapp_searchtool.layout import layout File ".\flaskapp\dashapp_searchtool\layout.py", line 30,
in import pandas as pd File "C:\ProgramData\Anaconda3\envs\dash_search_app\lib\site-packages\pandas\__init__.py", line 17, in "Unable to import required dependencies:\n" + "\n".join(missing_dependencies)
ImportError: Unable to import required dependencies: numpy: IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE! Importing the numpy c-extensions failed. -
Try uninstalling and reinstalling numpy. - If you have already done that, then: 1. Check that you expected to use Python3.7 from "C:\ProgramData\Anaconda3\envs\dash_search_app\python.exe",
and that you have no directories in your PATH or PYTHONPATH that can interfere with the Python and numpy version "1.17.3" you're trying to use. 2. If (1) looks fine,
you can open a new issue at https://github.com/numpy/numpy/issues. Please include details on: - how you installed Python
- how you installed numpy - your operating system - whether or not you have multiple versions of Python installed - if you built from source, your compiler versions and
ideally a build log - If you're working with a numpy git repository, try `git clean -xdf` (removes all files not under version control) and rebuild numpy. Note:
this error has many possible causes, so please don't comment on an existing issue about this - open a new one instead. Original error was: DLL load failed:
The specified module could not be found. StdOut: StdErr: C:\ProgramData\Anaconda3\envs\dash_search_app\lib\site-packages\flask_sqlalchemy\__init__.py:794:
FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True or False to suppress this warning.
最常见的建议是降级到 python 3.6,但并非每个项目都可以这样做。
我已经在下面回答了我的解决方案,以防其他人可能遇到与我在谷歌上搜索时间并没有找到解决方案相同的问题。
【问题讨论】:
标签: python flask iis plotly-dash wfastcgi