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

安装pyserini遇Unsupported compiler错误,求解决办法

解决pyserini安装中nmslib的C++11支持问题

以下是几个直接可行的解决方法:

方法1:安装时强制指定C++11编译标准

直接在pip安装命令中通过环境变量传递编译参数,确保clang使用C++11标准编译nmslib:

CC=clang CXX=clang++ CXXFLAGS="-std=c++11" pip install pyserini

如果需要单独处理nmslib,可执行:

CC=clang CXX=clang++ CXXFLAGS="-std=c++11" pip install nmslib>=2.1.1

方法2:通过pip全局选项指定编译标准

给pip传递编译扩展参数,强制启用C++11:

pip install nmslib>=2.1.1 --global-option=build_ext --global-option="-std=c++11"

完成nmslib安装后,再执行pip install pyserini即可。

方法3:设置全局环境变量永久生效

如果不想每次安装都添加参数,可将编译标准写入环境变量:

  1. 打开bash配置文件:vim ~/.bashrc
  2. 添加以下内容:
export CC=clang
export CXX=clang++
export CXXFLAGS="-std=c++11"
  1. 生效配置:source ~/.bashrc
  2. 重新执行pip install pyserini

方法4:手动编译安装nmslib

如果上述方法无效,可手动编译nmslib并指定C++标准:

  1. 获取nmslib的源码包并解压到本地
  2. 进入源码目录,创建编译目录:
mkdir build && cd build
  1. 用cmake指定C++11标准并编译:
cmake -DCMAKE_CXX_STANDARD=11 ..
make -j$(nproc)
  1. 返回源码根目录,安装python绑定:
cd ..
pip install .

完成后再安装pyserini。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 06:10:13