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

在WinSrv2019的IIS上部署Python应用报错:未设置WSGI_HANDLER环境变量

在IIS部署Python应用时解决WSGI_HANDLER环境变量未设置的问题

你遇到的错误核心是IIS的FastCGI配置里缺少WSGI_HANDLER环境变量,这个变量用来告诉wfastcgi你的Python应用的入口位置。错误日志如下:

Traceback (most recent call last):
File "C:\Python31\Lib\site-packages\wfastcgi.py", line 791, in mainenv
handler = read_wsgi_handler(response.physical_path)
File "C:\Python31\Lib\site-packages\wfastcgi.py" line 633
in read_wsgi_handlerhandler = get_wsgi_handler(os.getenv("WSGI_HANDLER"))
File "C:\Python31\Lib\site-packages\wfastcgi.py", line 586, in get_wsgi_handler
raise Exception('WSGI_HANDLER env var must be set') 
Exception: WSGI_HANDLER env var must be set 
StdOut: 
StdErr: 

直接按以下步骤解决:

  • 先确定你的Python应用的WSGI入口:
    • Flask项目:假设主文件是app.py,里面有app = Flask(__name__),值就是app.app
    • Django项目:值为你的项目名.wsgi.application(比如项目叫myblog,就是myblog.wsgi.application)
    • 其他WSGI框架:找导出的WSGI应用对象,格式为文件名.对象名(文件名不带.py后缀)
  • 打开IIS管理器,找到目标站点,进入【配置编辑器】
  • 在左侧节的下拉菜单里选system.webServer/fastCgi,找到对应你Python版本的进程条目
  • 点击该条目右侧的【...】按钮,打开环境变量设置界面
  • 添加新环境变量:
    • 名称填WSGI_HANDLER
    • 值填你刚才确定的入口路径
  • 保存所有设置,右键站点选择【重新启动】,再访问应用即可

额外注意事项:

  • 确保已通过pip install wfastcgi安装wfastcgi,并且执行过wfastcgi-enable命令注册到IIS
  • 检查站点的应用程序池权限,要能读取你的Python应用目录和Python安装目录的文件
  • 确认IIS里配置的Python路径和你实际安装的Python路径一致,避免版本不匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 02:35:23