insightface==0.7.3 编译失败
你的错误是 insightface==0.7.3
编译失败,根本原因在于它依赖的底层库 simsimd
需要使用 AVX512 指令集,而你的编译环境(GCC 或 CPU)不支持 AVX512,所以构建失败。
✅ 解决方案
我们有两个路径可以选择:
✅ 方法一:安装官方预编译版本(推荐)
InsightFace 从 v0.7.3 开始采用 pyproject.toml
+ simsimd
加速,需要编译器和 CPU 支持 AVX512。大部分服务器(尤其是 AMD 或老款 Intel)并不支持 AVX512,所以你可以使用更稳定的旧版本(如 v0.7.2 或以下):
pip install insightface==0.7.2
这个版本不会用 simsimd
,也就不会尝试启用 AVX512,加上 InsightFace 本身已经打好 wheel 包,无需编译,更容易兼容。
🔧 方法二:强制跳过 AVX512 编译(不推荐)
这需要你手动修改源码或打补丁,例如:
-
Fork
simsimd
仓库或 insightface 源码; -
找到
simsimd.h
中如下语句:#pragma GCC target("avx2", "avx512f", "avx512vl", "bmi2", "avx512bw", "avx512vpopcntdq")
改成:
#pragma GCC target("avx2")
-
再重新
pip install .
安装 insightface。
🚫 这种方式不稳定,容易因为环境差异再次失败,不推荐。
🔍 验证 insightface 是否安装成功
运行:
python -c "import insightface; print(insightface.__version__)"
确认没有报错即可。
✅ 总结
方法 | 说明 | 稳定性 | 推荐度 |
---|---|---|---|
pip install insightface==0.7.2 | 使用无 AVX512 要求的旧版本 | ✅ 稳定 | ⭐⭐⭐⭐⭐ |
自行修改源码编译 | 跳过 AVX512 限制 | ❌ 不稳定,复杂 | ⭐ |
是否需要我帮你写一条适用于 roop
的完整 pip install
命令,包括 insightface、onnxruntime、face_detection 等依赖?