在安装transformers 4.27时编译tokenizers包时出现错误

  • 使用chatglm-6b需要安装transformers==4.27.1

  • 我在尝试安装transformers==4.27.1时,遇到了在编译tokenizers包时的错误,导致无法成功构建wheel文件。错误消息显示cargo rustc命令失败并返回了代码101。以下是完整的错误消息:

pip install -v transformers==4.27.1....error: `cargo rustc --lib --message-format=json-render-diagnostics --manifest-path Cargo.toml --release -v --features pyo3/extension-module --crate-type cdylib -- -C 'link-args=-undefined dynamic_lookup -Wl,-install_name,@rpath/tokenizers.cpython-312-darwin.so'` failed with code 101  error: subprocess-exited-with-error    × Building wheel for tokenizers (pyproject.toml) did not run successfully.  │ exit code: 1  ╰─> See above for output.    note: This error originates from a subprocess, and is likely not a problem with pip.  full command: /Users/dragonfang/****/venv_agi/bin/python3.12 /Users/dragonfang/****/venv_agi/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py build_wheel /var/folders/ll/9dtz3vg150vfv8t75ppq_nr00000gn/T/tmpymy6ke0d  cwd: /private/var/folders/ll/9dtz3vg150vfv8t75ppq_nr00000gn/T/pip-install-tz2dgt67/tokenizers_11ac58d2069c4ec1985eae0d4528f0ec  Building wheel for tokenizers (pyproject.toml) ... error  ERROR: Failed building wheel for tokenizersFailed to build tokenizersERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (tokenizers)

如何解决这个问题?


补充:

我尝试了上述两个链接中的一些方法,但都没有解决我的问题。

  • rustc 1.72.1版本太低,无法构建包clap_lex v0.7.2,因为它需要rustc 1.74或更新的版本。
  • transformers==4.34.0不再需要安装Rust编译器,但出现了错误:AttributeError: 'ChatGLMTokenizer' object has no attribute 'sp_tokenizer'
  • transformers==4.33.2需要安装Rust编译器,错误是:cargo rustc --lib --message-format=json-render-diagnostics --manifest-path Cargo.toml --release -v --features pyo3/extension-module --crate-type cdylib -- -C 'link-args=-undefined dynamic_lookup -Wl,-install_name,@rpath/tokenizers.cpython-312-darwin.so' failed with code 101.

回答:

ChatGPT建议

你可以尝试使用Python 3.10或3.11,看看问题是否解决

由于我的Python版本是3.12.5,我降级到了3.11.9并重新运行了pip install。这成功解决了问题。

我注意到Gemini 1.5 Flash只建议我更新Rust和Cargo,而GPT-4o mini还提到了Python版本的问题。我之前一直在使用Gemini,看来我应该在未来更多地比较这两个模型。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注