Windows环境下安装mod_wsgi失败求助:更换版本仍未解决
解决Windows下mod_wsgi安装失败(找不到ws2tcpip.h)的问题
核心问题分析
报错里的fatal error C1083: Cannot open include file: 'ws2tcpip.h'是关键——这个头文件属于Windows SDK,你的Visual Studio Build Tools要么没装全对应组件,要么编译环境没正确识别SDK路径,导致mod_wsgi源码编译失败。
分步解决方案
1. 补全Visual Studio Build Tools的Windows SDK组件
打开Visual Studio Installer,找到已安装的Visual Studio Build Tools 2022,点击「修改」:
- 切换到「工作负载」标签,确保勾选「Desktop development with C++」
- 转到「单个组件」标签,搜索并勾选对应你系统版本的Windows SDK(比如Windows 11 SDK或Windows 10 SDK),包含其下所有子组件
- 完成安装后重启终端,再执行
pip install mod_wsgi
2. 手动配置SDK环境变量(若安装后仍报错)
如果SDK已装但编译仍找不到头文件,手动添加环境变量:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」中新增:
- 变量名:
INCLUDE,变量值添加Windows SDK的include路径(示例:C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um,路径根据你的SDK版本调整) - 变量名:
LIB,变量值添加SDK的lib路径(示例:C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\um\x86)
- 变量名:
- 保存后重启终端,重新尝试安装
3. 用预编译二进制包跳过源码编译
不想折腾编译的话,直接用预编译的.whl包:
- 搜索「Unofficial Windows Binaries for Python Packages」,找到对应你Python版本(3.7 32位)和系统的mod_wsgi二进制包
- 下载后执行
pip install 你的文件路径\mod_wsgi-xxx.whl完成安装
4. 验证Apache与Python架构匹配
从日志看你用的是32位Python(python37-32),确保你的Apache也是32位版本——架构不匹配会导致编译或后续运行失败。
内容的提问来源于stack exchange,提问作者Ananth Mandli
相关产品推荐
相关产品推荐

