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

使用pip安装faiss-cpu失败:Python3.12编译wheel时swig.exe报错

在Windows虚拟环境中安装faiss-cpu时遭遇swig编译错误

问题详情

在Windows系统的Python 3.12.0虚拟环境内执行pip install faiss-cpu,构建wheel阶段触发swig相关编译失败,错误输出如下:

error: subprocess-exited-with-error

× Building wheel for faiss-cpu (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [details of the error]
swig.exe -python -c++ -Doverride= -I/usr/local/include -Ifaiss -doxygen -DSWIGWIN -module swigfaiss -o faiss\faiss\python\swigfaiss_wrap.cpp faiss\faiss\python\swigfaiss.i
error: command 'swig.exe' failed: None

注:收到pip可升级至23.3.2的提示,暂未确认是否与此问题相关。

已完成的排查动作:

  • 确认swig已安装且其路径已加入系统PATH,命令行执行swig -version能正常返回版本信息
  • 未更新pip、setuptools至最新版本
  • 未检查该包是否依赖Visual C++ Build Tools及是否已正确安装

疑问:该问题是否与Python 3.12.0版本或其他系统配置有关?

解决建议

1. 升级pip与构建工具

先更新pip、setuptools和wheel,排除工具版本兼容问题:

pip install --upgrade pip setuptools wheel

2. 安装Visual C++ Build Tools

faiss-cpu在Windows下编译必须依赖Visual C++ Build Tools,需确保安装包含C++开发组件的版本:

  • 打开Visual Studio安装程序,选择「桌面开发使用C++」工作负载
  • 勾选「MSVC v142+工具集」「Windows SDK」等核心组件,完成安装后重启命令行和虚拟环境,再尝试安装

3. 验证swig版本兼容性

虽然swig -version可正常执行,但需确认swig版本为4.x系列(faiss对旧版swig兼容性较差),若版本过低,升级至最新稳定版。

4. 直接安装预编译wheel包

跳过本地编译,直接安装预编译版本:

pip install faiss-cpu --only-binary :all:

5. 确认虚拟环境的PATH配置

系统PATH已添加swig,但虚拟环境可能未继承该路径,激活虚拟环境后执行echo %PATH%检查swig路径是否存在,若缺失,临时添加后再安装:

set PATH=C:\你的swig安装路径\bin;%PATH%

内容的提问来源于stack exchange,提问作者MD Abdur Rahim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 23:20:12