【BUG记录】解决安装PyTorch3D时出现的“No module named ‘torch‘“错误

解决PyTorch3D安装报错:ModuleNotFoundError: No module named 'torch'

在复现3D视觉相关项目时,我遇到了一个看似简单却棘手的PyTorch3D安装问题------明明环境中已安装PyTorch,却在安装PyTorch3D时提示找不到torch模块。本文将完整记录问题现象、排查过程和最终解决方案,希望能帮到遇到同类问题的开发者。

一、问题现象

项目依赖文件requirements.txt中包含PyTorch3D的安装配置:

复制代码
git+https://github.com/facebookresearch/pytorch3d.git@stable

执行pip install -r requirements.txt时,安装过程中出现以下核心报错:

复制代码
ModuleNotFoundError: No module named 'torch'

完整报错日志片段如下:

python 复制代码
Collecting git+https://github.com/facebookresearch/pytorch3d.git@stable (from -r requirements.txt (line 24))
  Cloning https://github.com/facebookresearch/pytorch3d.git (to revision stable) to /tmp/pip-req-build-7_r229l1
  Running command git clone --filter=blob:none --quiet https://github.com/facebookresearch/pytorch3d.git /tmp/pip-req-build-7_r229l1
  Running command git checkout -q 75ebeeaea0908c5527e7b1e305fbc7681382db47
  Resolved https://github.com/facebookresearch/pytorch3d.git to commit 75ebeeaea0908c5527e7b1e305fbc7681382db47
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [17 lines of output]
      Traceback (most recent call last):
        # 省略部分栈信息
        File "<string>", line 15, in <module>
      ModuleNotFoundError: No module named 'torch'
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed to build 'git+https://github.com/facebookresearch/pytorch3d.git@stable' when getting requirements to build wheel

初步排查

  1. 确认环境中已安装PyTorch:执行python -c "import torch; print(torch.__version__)",能正常输出PyTorch版本,说明torch模块本身存在;
  2. 尝试单独安装PyTorch3D(pip install git+https://github.com/facebookresearch/pytorch3d.git@stable),依然报相同错误;
  3. 检查Python环境路径,确认pip和python命令指向同一虚拟环境,无环境混淆问题。

二、问题根源分析

经过查阅PyTorch3D官方issues和社区讨论,发现该问题并非PyTorch未安装,而是新版pip/setuptools/wheel工具链与PyTorch3D的构建流程不兼容

  • 新版pip(25.x+)在构建第三方包时,会创建隔离的构建环境,导致无法识别当前环境已安装的PyTorch;
  • setuptools和wheel的新版本也存在类似的构建环境隔离或依赖解析逻辑变更,与PyTorch3D的setup.py脚本不兼容。

三、解决方案

通过降级pip、setuptools和wheel到兼容版本,即可解决该问题。

步骤1:降级工具链

执行以下命令安装指定版本的pip、setuptools和wheel:

bash 复制代码
pip install -U "pip<25" "setuptools==68.2.2" "wheel<0.43"

步骤2:重新安装PyTorch3D

工具链降级完成后,重新执行依赖安装命令:

bash 复制代码
pip install -r requirements.txt
# 或单独安装PyTorch3D
# pip install git+https://github.com/facebookresearch/pytorch3d.git@stable

此时能正常识别torch模块,PyTorch3D可顺利完成编译和安装。

四、版本说明

  • pip:限制版本小于25(推荐24.x版本),避免新版隔离构建环境的问题;
  • setuptools:固定为68.2.2版本,该版本与PyTorch3D的setup.py解析逻辑兼容;
  • wheel:限制版本小于0.43,配合上述工具版本保证构建流程稳定。

五、总结

  1. 当遇到"明明已安装模块却提示找不到"的安装报错时,除了检查环境路径,还需考虑工具链版本兼容性问题;
  2. PyTorch3D等需要编译的第三方库,对pip/setuptools/wheel版本敏感,新版工具链可能因逻辑变更导致构建失败;
  3. 本次问题的核心解决方案是降级工具链到兼容版本:pip install -U "pip<25" "setuptools==68.2.2" "wheel<0.43"

如果本文对你有帮助,欢迎点赞收藏~也欢迎在评论区交流更多PyTorch3D安装的踩坑经验。

相关推荐
瑶总迷弟8 小时前
使用 mis-tei 在昇腾310P上部署 bge-m3模型
pytorch·python·华为·语言模型·自然语言处理·cnn·unix
zhangfeng113310 小时前
ai 模型加密,强化版终极防盗方案 支持烧录的显卡列表
人工智能·pytorch·python
不懂的浪漫13 小时前
Codex 更新后历史 Session 消失?我写了一个修复官方 Bug 的 Recovery Skill
bug·codex·skill
xier_ran13 小时前
【infra之路】模块三:Kubernetes (下) — 阶段一毕业项目:在集群里跑 PyTorch 训练
pytorch·容器·kubernetes
不羁的木木14 小时前
《HarmonyOS技术精讲》三:记忆链接 ── 跨场景数据融合
pytorch·华为·harmonyos
এ慕ོ冬℘゜14 小时前
手写一款高兼容、零BUG图片预览组件|前端
前端·bug
zhangfeng113315 小时前
国家超算中心 系统自带模型 和pytorch 和cuda版本
人工智能·pytorch·python
Zldaisy3d2 天前
全球唯一仿真驱动自适应扫描路径新版本发布,金属3D打印工艺开发进入算法时代
算法·3d
大江东去浪淘尽千古风流人物2 天前
【HaMeR】全Transformer架构的单目3D手部网格重建:ViT-H骨干+跨注意力MANO解码器源码深度解析
深度学习·3d·transformer·vit·手部重建·mano
五月君_2 天前
继 React、Vue 之后,Three.js 也有 Skills 了!AI 写 3D 终于不“晕”了
javascript·vue.js·人工智能·react.js·3d