使用2023版Rust构建tokenizers wheel失败,求解决方法
解决tokenizers-0.8.1在Windows Python3.11环境下的安装问题
方案1:强制pip使用预编译wheel(跳过本地构建)
tokenizers-0.8.1有适配Windows和Python3.11的预编译wheel,直接指定版本安装即可避开本地构建的Rust兼容问题:
pip install tokenizers==0.8.1 --only-binary :all:
--only-binary :all: 参数会强制pip只下载预编译的wheel文件,完全跳过源码构建步骤。
方案2:调整Cargo的edition配置(仅当必须本地构建时使用)
如果因特殊需求必须本地构建,可手动修改tokenizers源码的Cargo配置:
- 先下载tokenizers-0.8.1的源码包:
pip download tokenizers==0.8.1 --no-binary :all:
- 解压下载的源码包,找到根目录下的
Cargo.toml文件 - 打开文件,将
edition = "2021"修改为edition = "2018" - 从本地源码安装:
pip install ./tokenizers-0.8.1
方案3:降级Python版本适配旧版依赖
tokenizers-0.8.1发布于2020年,对Python3.11的原生支持有限,可临时将Python降级到3.9或3.10版本,再执行依赖安装:
pip install -r requirements.txt
旧版Python与该版本tokenizers的兼容性更好,无需额外配置Rust环境。
方案4:替换tokenizers兼容版本满足transformers依赖
transformers==v3.1.0对tokenizers的依赖范围是tokenizers>=0.8.0,<0.9.0,可以尝试安装修复了构建兼容问题的tokenizers-0.8.3:
pip install tokenizers==0.8.3 transformers==v3.1.0
该版本能满足transformers v3.1.0的依赖要求,同时在Python3.11下的构建成功率更高。
内容的提问来源于stack exchange,提问作者Hoang Cuong Nguyen
相关产品推荐
相关产品推荐

