Heroku安装Python transformers时tokenizers编译失败报错如何解决
报错原因
transformers依赖的tokenizers库较新版本采用Rust语言开发,Heroku默认的Python构建环境没有预装Rust编译工具链,无法从源码编译生成tokenizers的wheel安装包,因此触发该报错。
解决方案
- 固定低版本tokenizers安装:在项目的requirements.txt文件中指定安装提供预编译安装包的tokenizers版本,添加一行
tokenizers==0.10.3,再正常添加transformers依赖即可,该版本不需要编译环境可直接安装。 - 新增Rust构建环境:在Heroku应用的设置页的构建包(Buildpacks)配置区,先添加Rust构建包,调整构建顺序使Rust构建包排在Python构建包之前,重新部署时会先安装Rust编译工具链,即可正常编译安装最新版tokenizers。
- 安装精简版transformers:如果业务场景不需要完整的tokenizers功能,可安装无tokenizers依赖的transformers核心版本,在requirements.txt中填写
transformers[core]即可,该方案仅适用于轻量调用场景。
内容的提问来源于stack exchange,提问作者Omkaar
相关产品推荐
相关产品推荐

