问题描述
Ubuntu 20.04 使用 pip 安装 transformers 库遇到报错:error: can't find Rust compiler. 下面是报错信息的后半部分。
running build_ext
running build_rust
error: can't find Rust compiler
If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.
To update pip, run:
pip install --upgrade pip
and then retry package installation.
If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for tokenizers
Failed to build tokenizers
ERROR: Could not build wheels for tokenizers, which is required to install pyproject.toml-based projects
解决方案
bash
sudo apt install rustc
sudo apt install cargo
完成上面两个库的安装重新执行 transformers 的安装即可,库较大可能需要 build 一段时间。(我这边用时2分钟左右)
bash
pip install transformers
详细流程
按照提示更新了 pip:
pip install --upgrade pip
但是没有任何作用。报错信息不变。那只能考虑安装 Rust。
参考资料:How to Install Rust on Ubuntu {apt and rustup}
这个用 apt 安装的看上去是最简单的:
bash
sudo apt install rustc
安装完毕后依旧报错:
bash
error: [Errno 2] No such file or directory: 'cargo'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for tokenizers
Failed to build tokenizers
ERROR: Could not build wheels for tokenizers, which is required to install pyproject.toml-based projects
然后测试 apt 安装。
bash
sudo apt install cargo
然后重新 pip 安装,问题解决。
相关工作
Windows 下同样问题的解决可参考:安装transformers报错error can't find rust compiler_can't find rust compiler-CSDN博客