You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署Flask+Pymongo至IIS时遇WSGI Handler读取错误求助

错误解读与解决方案

错误根源

堆栈跟踪最终指向ImportError: DLL load failed while importing _ssl: The specified module could not be found.,本质原因是:

  • IIS应用程序池进程未加载Anaconda Python环境中SSL相关依赖的DLL文件
  • 系统缺失Python 3.9所需的VC++运行时库
  • IIS进程未继承Anaconda的环境变量配置

解决方案

1. 安装VC++运行时依赖

  • 下载并安装Microsoft Visual C++ 2015-2019 Redistributable(x64版本)
  • 安装完成后执行命令iisreset重启IIS服务

2. 配置IIS应用程序池环境变量

  • 打开IIS管理器,找到对应网站的应用程序池,右键选择「高级设置」
  • 找到「环境变量」选项并点击编辑,添加如下变量:
    • 变量名:PATH
    • 变量值:C:\Users\Administrator\anaconda3;C:\Users\Administrator\anaconda3\Library\bin;C:\Users\Administrator\anaconda3\Scripts(根据你的Anaconda实际路径调整)
  • 重启该应用程序池

3. 完善web.config配置

在appSettings节点中添加PYTHONHOME配置,指定Anaconda的Python根目录:

<configuration>
    <system.webServer>
        <defaultDocument>
            <files>
                <add value="App.py" />
            </files>
        </defaultDocument>
    </system.webServer>
    <appSettings>
        <add key="PYTHONPATH" value="C:\websites\applicativoflask" />
        <add key="WSGI_HANDLER" value="App.app" lockItem="false" />
        <add key="PYTHONHOME" value="C:\Users\Administrator\anaconda3" />
    </appSettings>
</configuration>

4. 验证本地Python环境的SSL可用性

  • 打开Anaconda Prompt,执行python -c "import ssl; print(ssl.OPENSSL_VERSION)"
  • 若命令报错,执行conda install openssl更新OpenSSL,必要时重新安装Anaconda环境

5. 检查应用程序池权限

  • 尝试将应用程序池的「标识」临时改为LocalSystem(测试用,生产环境建议使用有权限的专用账号)
  • 确保该账号拥有Anaconda目录和网站文件目录的读取权限

内容的提问来源于stack exchange,提问作者Pool Nolasco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 03:45:47