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

Linux安装transformers==3.4.0遇tokenizers编译Cargo版本兼容错误

解决transformers==3.4.0安装时的Rust Edition编译错误

问题根源

安装transformers3.4.0时,其依赖的tokenizers0.9.2在编译过程中会自动拉取once_cell v1.17.1,该版本使用了Rust 2021 Edition,而你的Cargo环境因依赖缓存或版本解析问题,无法处理该Edition的配置,导致编译失败。

可行解决方案

方案1:安装预编译的tokenizers包,跳过编译

直接强制使用预编译wheel,避免Rust编译步骤:

# 先安装兼容的tokenizers预编译包
pip install tokenizers==0.9.2 --only-binary=:all:
# 再安装transformers
pip install transformers==3.4.0

如果命令找不到对应wheel,可手动下载对应Python版本和系统的.whl文件(比如Python3.9对应tokenizers-0.9.2-cp39-cp39-manylinux2010_x86_64.whl),再执行pip install 文件名。

方案2:强制限制once_cell版本为兼容旧Edition的版本

创建constraints.txt文件,内容如下:

once_cell<1.16.0

然后通过约束文件安装:

pip install transformers==3.4.0 -c constraints.txt

once_cell 1.16.0及之前版本使用Rust 2018 Edition,可兼容你的Cargo环境。

方案3:清理Cargo缓存后重新尝试

若缓存的once_cell包导致解析错误,清理缓存后重新安装:

# 删除缓存的once_cell包
rm -rf ~/.cargo/registry/src/github.com-1ecc6299db9ec823/once_cell-*
# 重新安装transformers
pip install transformers==3.4.0

方案4:手动修改tokenizers的编译配置

  1. 下载tokenizers源码包:
pip download tokenizers==0.9.2
  1. 解压并进入源码目录:
tar -xzf tokenizers-0.9.2.tar.gz && cd tokenizers-0.9.2
  1. 编辑根目录的Cargo.toml,在顶部添加:
edition = "2018"
  1. 编译安装修改后的包:
pip install .

内容的提问来源于stack exchange,提问作者11D

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 16:37:58