Poetry安装xformers等库时提示找不到Torch的技术问询
解决Poetry安装xformers时提示找不到torch的问题
核心原因
xformers的setup.py在构建阶段会直接导入torch做版本校验或依赖检查,但Poetry默认的构建隔离机制会创建一个临时干净环境来构建包——这个环境不会包含你虚拟环境中已安装但未在pyproject.toml声明的依赖;或是你虽在虚拟环境装了torch,但没把它加入Poetry的依赖清单,导致构建环境无法访问torch。
解决方案
1. 确保torch已加入Poetry依赖清单
如果pyproject.toml里没有torch条目,先把它添加进去(根据你的CUDA版本选择对应命令):
# 示例:安装支持CUDA 11.8的torch版本 poetry add torch --index-url https://download.pytorch.org/whl/cu118
添加完成后再执行poetry add xformers,此时Poetry会确保构建xformers的环境包含torch。
2. 禁用构建隔离(快速临时解决)
若已确认虚拟环境里有torch但构建仍报错,可直接禁用Poetry的构建隔离,让xformers在当前虚拟环境中构建:
# 用Poetry添加包 poetry add xformers --no-build-isolation # 或用pip安装 poetry run pip install xformers --no-build-isolation
这样xformers的setup.py就能直接访问虚拟环境中已安装的torch,避免模块找不到的错误。
3. 验证虚拟环境一致性
若以上方法无效,先确认虚拟环境的依赖状态:
# 查看虚拟环境已安装的包列表 poetry run pip list
确保torch在列表中,还可以尝试重新生成虚拟环境:
# 删除现有虚拟环境(替换为你的Python版本) poetry env remove python3.x # 重新创建并安装所有依赖 poetry install
内容的提问来源于stack exchange,提问作者zlenyk
相关产品推荐
相关产品推荐

