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

Web Platform Installer安装Python及WFastCGI失败求助:签名验证错误

解决Web Platform Installer安装WFastCGI和Python3.4失败的方案

一、修复原安装路径的问题

你遇到的核心问题是Web Platform Installer里的Python3.4下载源因为pytools迁移到PTVS而失效,导致签名验证失败、依赖项安装卡住。可以通过手动补全依赖项来完成原方案:

  • 手动安装Python3.4.2(32位)
    直接从Python官方归档渠道找到对应32位版本安装包,安装时务必勾选Add Python to PATH,方便后续命令行操作。
  • 手动部署WFastCGI
    不用再依赖Web Platform Installer:
    1. 先通过服务器管理器的「添加角色和功能」开启IIS的CGI功能;
    2. 下载WFastCGI官方安装包完成安装;
    3. 打开IIS管理器,找到目标网站右键选择「处理程序映射」→「添加模块映射」:请求路径填*,模块选FastCgiModule,可执行文件指向你安装的Python路径下的python.exe,自定义一个名称(比如Python FastCGI)后确认允许请求。
  • 验证IIS组件完整性
    确保IIS的Web-Common-Http、Web-Default-Doc、Web-Directory-Browsing等基础组件都已开启,这些是Flask部署的必要条件。

二、更现代的替代部署方案(推荐)

原教程是2015年的,依赖的旧版本工具维护性差,推荐用以下更稳定的方式部署Flask到IIS:

方案1:IIS + FastCGI + 现代Python版本(3.8+)

这是对原方案的升级,兼容性和稳定性更好:

  1. 准备IIS环境
    开启IIS核心功能后,额外安装URL重写组件(IIS默认没有,需单独安装)。
  2. 安装现代Python
    选择Python3.8~3.11之间的版本(稳定性最优),安装时勾选Add Python to PATH,确保pip组件被安装。
  3. 安装依赖包
    打开命令提示符,运行 pip install flask wfastcgi。
  4. 配置IIS网站
    • 创建新网站,物理路径指向你的Flask项目根目录;
    • 添加模块映射:请求路径*,模块FastCgiModule,可执行文件格式为[Python安装路径]\python.exe|[Python安装路径]\Lib\site-packages\wfastcgi.py;
    • 在项目根目录创建web.config文件,填入以下内容(替换占位符为你的实际路径和Flask实例名):
      <?xml version="1.0" encoding="UTF-8"?>
      <configuration>
        <system.webServer>
          <handlers>
            <add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\Python39\python.exe|C:\Python39\Lib\site-packages\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
          </handlers>
          <rewrite>
            <rules>
              <rule name="Flask Rewrite" stopProcessing="true">
                <match url="^(.*)$" />
                <conditions logicalGrouping="MatchAll">
                  <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                  <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                </conditions>
                <action type="Rewrite" url="app.py/{R:1}" />
              </rule>
            </rules>
          </rewrite>
        </system.webServer>
        <appSettings>
          <add key="WSGI_HANDLER" value="app.app" /> <!-- 若你的Flask实例是`app = Flask(__name__)`,则填`app.app` -->
          <add key="PYTHONPATH" value="C:\your\flask\project\path" />
          <add key="WSGI_LOG" value="C:\your\log\path\flask.log" />
        </appSettings>
      </configuration>
      
    • 启动网站,访问对应域名/IP即可测试。

方案2:IIS + ASP.NET Core Module托管Flask(推荐度更高)

如果服务器支持.NET Core,这种方式性能更好、配置更简洁:

  1. 安装.NET Core Hosting Bundle
    安装后IIS会自动添加ASP.NET Core模块,支持托管Python WSGI应用。
  2. 配置项目文件
    • 在Flask项目根目录创建web.config:
      <?xml version="1.0" encoding="UTF-8"?>
      <configuration>
        <system.webServer>
          <handlers>
            <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
          </handlers>
          <aspNetCore processPath="python.exe" arguments="run.py" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
        </system.webServer>
      </configuration>
      
    • 创建run.py作为启动入口(用Waitress替代Flask自带的开发服务器,更适合生产环境):
      from waitress import serve
      from app import app  # 替换为你的Flask实例导入路径
      
      if __name__ == "__main__":
          serve(app, host='0.0.0.0', port=5000)
      
  3. 安装依赖包
    运行 pip install flask waitress。
  4. 部署到IIS
    创建网站指向项目根目录,启动后即可访问。

三、总结

原教程依赖的旧工具源已失效,要么手动补全依赖项完成原方案,要么换成现代部署方式(更推荐后者,长期维护更省心)。如果坚持用原方案,一定要确保下载到正版Python3.4.2安装包;选择现代方案的话,Python3.8+搭配wfastcgi或ASP.NET Core Module的组合会更稳定可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:05:46