ERROR: Failed building wheel for sentence-transformers

在Ubuntu系统中,使用python3的虚拟环境venv安装sentence-transformers时遇到权限错误,导致无法构建wheel。错误提示包括无效的命令'bdist_wheel'和Permission denied。尝试使用pip install wheel及--user选项安装失败,可能是因为pip版本或权限问题。解决方案是使用sudo权限运行python3 -m pip install -r requirements.txt来安装所有依赖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

安装包是报错 ERROR: Failed building wheel for sentence-transformers

安装步骤

sudo python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

问题描述

Building wheels for collected packages: sentence-transformers
  Building wheel for sentence-transformers (setup.py) ... error

 ERROR: Command errored out with exit status 1:
   command: /home/ubuntu/pythonProjects/ai.ueth.org_20220617010122_bc8c7103/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ycpl2xhv/sentence-transformers/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ycpl2xhv/sentence-transformers/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-zw231z_z
       cwd: /tmp/pip-install-ycpl2xhv/sentence-transformers/
  Complete output (6 lines):
  usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: setup.py --help [cmd1 cmd2 ...]
     or: setup.py --help-commands
     or: setup.py cmd --help

  error: invalid command 'bdist_wheel'
  ----------------------------------------
  ERROR: Failed building wheel for sentence-transformers

  Running setup.py clean for sentence-transformers
Failed to build sentence-transformers
Installing collected packages: certifi, charset-normalizer, click, colorama, filelock, zipp, importlib-metadata, MarkupSafe, Jinja2, itsdangerous, Werkzeug, Flask, PyYAML, typing-extensions, idna, urllib3, requests, pyparsing, packaging, tqdm, huggingface-hub, joblib, regex, nltk, numpy, Pillow, python-dotenv, threadpoolctl, scipy, scikit-learn, sentencepiece, torch, torchvision, tokenizers, transformers, sentence-transformers, waitress
ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/home/ubuntu/pythonProjects/ai.ueth.org_20220617010122_bc8c7103/venv/lib/python3.8/site-packages/certifi-2022.5.18.1.dist-info'
Consider using the `--user` option or check the permissions.

进行的尝试

pip install wheel

Collecting wheel
  Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB)
Installing collected packages: wheel
ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/home/ubuntu/pythonProjects/ai.ueth.org_20220617020216_2c848b36/venv/lib/python3.8/site-packages/wheel'
Consider using the `--user` option or check the permissions.

pip install wheel --user

ERROR: Can not perform a '--user' install. User site-packages are not visible in this virtualenv.

原因分析:

应该是使用的pip不对导致的


解决方案:

sudo python3 -m pip install -r requirements.txt
### 安装 `flash-attn` 的常见问题及解决方案 在安装 `flash-attn` 时,可能会遇到编译错误或其他依赖问题。以下是针对您提到的环境(Torch 2.0.1 和 CUDA 11.7)的具体分析和解决方法。 #### 错误原因分析 当运行命令 `pip install flash-attn` 或其他类似的安装指令时,如果出现类似于以下错误消息: ``` ERROR: Failed building wheel for flash_attn Running setup.py clean for flash_attn Failed to build flash_attn ERROR: Could not build wheels for flash_attn, which is required to install pyproject.toml-based projects. ``` 这通常是由于以下几个原因之一引起的: - 编译器版本不兼容[^1]。 - PyTorch 版本与 CUDA 工具链之间的冲突[^3]。 - 系统缺少必要的构建工具或库文件[^1]。 --- #### 解决方案 ##### 方法一:通过预编译的 `.whl` 文件手动安装 对于特定的硬件配置(如 CUDA 11.7),可以尝试下载官方发布的预编译二进制包并进行安装。具体操作如下: 1. **查找适合的 `.whl` 文件** 访问 GitHub 发布页面,定位到适用于您的环境的轮子文件。例如,在 Torch 2.0.1 和 CUDA 11.7 下,可以选择以下链接中的对应文件: ``` wget https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.3/flash_attn-2.7.3+cu117torch2.0.1cp39-none-linux_x86_64.whl ``` 这里需要注意的是,`.whl` 文件名中包含了 CUDA 和 Python 的版本信息,请确保其匹配当前系统的设置[^2]。 2. **执行安装命令** 使用 `pip` 来完成安装过程,并附加参数以禁用隔离模式: ```bash pip install ./flash_attn-*.whl --no-build-isolation ``` 此方法绕过了源码编译阶段,从而避免了许多潜在的兼容性问题[^2]。 --- ##### 方法二:调整开发环境配置 如果您希望继续使用标准的 Pip 流程,则需确认以下几点是否满足需求: 1. **验证 C++ 编译器支持情况** 需要 GCC 至少为 v7.x 及以上版本才能成功构建扩展模块[^1]。可以通过下面命令检查现有版本号: ```bash gcc --version g++ --version ``` 2. **更新 NVIDIA Toolkit 到最新稳定版** 虽然目标平台基于较旧的 CUDA 11.7,但仍建议升级至更高版本驱动程序以及 cuDNN 库以便获得更好的性能表现[^3]。 3. **重新激活虚拟环境后再试一次** 如果之前的操作可能污染了工作区状态,则先销毁再重建一个新的干净副本可能是明智之举。 --- ##### 方法三:降级或更换组件组合 有时即使遵循推荐做法仍无法顺利解决问题,此时不妨考虑适当降低某些部分的要求等级直至找到可行解为止。比如切换回更早一点发布日期的小版本PyTorch实例或者干脆放弃追求极致速度而改用常规实现路径作为替代选项之一[^3]。 --- ### 总结代码片段 为了便于实践上述指导方针,这里提供一段综合性的脚本供参考: ```python import torch print(f"Torch Version Installed:{torch.__version__}") if 'cuda' in str(torch.cuda.get_device_properties(0)): print("CUDA Device Detected.") else: raise EnvironmentError("No compatible GPU detected!") try: import flash_attn except ImportError as e: print(e) finally: # Attempt manual installation via precompiled WHL file !wget https://example.com/path/to/suitable_flashattn_whl_file.whl -O /tmp/flash_attn.whl && \ python -m pip install "/tmp/flash_attn.whl" --force-reinstall --upgrade-strategy only-if-needed --no-deps ``` 注意替换实际 URL 地址前缀部分! ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

singi2015

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值