问题

pip中存在某pkg,但是conda install时提示缺少该pkg

解决方案

最好不要同时使用conda和pip同时进行环境管理,建议只使用conda安装cuda-toolkit这种pip无法提供的底层支持

conda 只认“conda 包”,不认你 pip 装了啥,你 pip 装的 fvcore 只是让 Python 能 import fvcore,不会出现在 conda search fvcore 里,更不会被 solver 用来“满足依赖”。

PyTorch3D 这个 conda 包要求:依赖里必须有一个 fvcore 也是 conda 包

所以你必须从 conda-forge 这类 channel 再装一份 fvcore,这样 pytorch3d=0.7.7=py310_cu121_pyt231 的依赖才能被 solver 认为“满足”。

要不要先卸掉 pip 版 fvcore?

理论上你可以让 pip 版和 conda 版 fvcore 共存(后者会覆盖前者的同名模块), 但为了心理洁癖和避免莫名其妙的路径问题,更干净的做法是:

1
2
uv pip uninstall fvcore
# 然后只保留 conda-forge 安装的 fvcore

这样整个环境的依赖全部走 conda,逻辑最清楚。