使用pip等三种方式安装ctcdecode均报exit status 1错误求助
ctcdecode安装报错排查方案
核心原因
你当前使用的是Windows系统+Python3.9环境,官方原版parlance/ctcdecode存在两个适配问题:
- 没有发布Windows平台的预编译wheel包,源码编译依赖GCC/Clang+OpenMP编译链,Windows默认的MSVC编译器不支持底层依赖的编译
- 官方版本最高适配到Python3.8,Python3.9及以上版本没有做兼容处理
可行解决方案
方案1:使用WSL环境安装(最稳定)
- 开启Windows的WSL子系统安装Ubuntu发行版
- 先安装系统依赖:
sudo apt update && sudo apt install build-essential libomp-dev
- 执行你之前的三种安装方式任意一种即可正常安装。
方案2:安装Windows适配版本
直接安装第三方预编译的Windows适配包,支持Python3.7~3.10版本,功能和原版一致:
pip install ctcdecode-win
方案3:手动适配编译(仅推荐有经验用户)
- 安装MinGW-w64编译环境,配置OpenMP支持并添加到系统环境变量
- 修改ctcdecode源码根目录的setup.py,指定编译器为MinGW的gcc
- 执行编译安装命令即可。
其他注意事项
- 克隆源码必须加
--recursive参数,否则会缺失第三方依赖子模块导致编译失败 - 如果坚持使用原版ctcdecode,可以将Python版本降级到3.8,配合MinGW环境也可完成编译
内容的提问来源于stack exchange,提问作者Dev Logger
相关产品推荐
相关产品推荐

