Ubuntu20.04下Anaconda环境安装PyTorch遇libcublas版本冲突求助
H2-Mapping环境PyTorch CUDA版本冲突解决方案
问题背景
系统:Ubuntu 20.04(支持ROS1)
操作流程:
- 通过conda创建H2-Mapping环境:
conda env create -f h2mapping.yaml conda activate h2mapping - 执行PyTorch安装命令时触发版本冲突:
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia --solver=libmamba
错误信息
Channels: - pytorch - nvidia - defaults Platform: linux-64 Collecting package metadata (repodata.json): done Solving environment: failed LibMambaUnsatisfiableError: Encountered problems while solving: - package pytorch-cuda-12.1-ha16c6d3_5 requires libcublas >=12.1.0.26,<12.1.3.1, but none of the providers can be installed Could not solve for environment specs The following packages are incompatible ├─ libcublas 11.10.3.66.* is requested and can be installed; └─ pytorch-cuda 12.1** is not installable because it requires └─ libcublas >=12.1.0.26,<12.1.3.1 , which conflicts with any installable versions previously reported.
已尝试无效操作:卸载重装CUDA、无CUDA环境下安装Anaconda、重装Anaconda、修改bashrc中CUDA路径
解决思路
1. 检查并修改环境配置文件约束
打开h2mapping.yaml,查看是否存在libcublas或其他CUDA相关依赖的固定版本约束(比如libcublas=11.10.*)。这类固定版本会直接与pytorch-cuda=12.1的需求冲突:
- 若找到相关约束,将其修改为兼容范围(如
libcublas>=12.1.0.26),或直接删除该约束,让conda自动匹配兼容版本。 - 修改后重新创建环境:
conda env create -f h2mapping.yaml --force
2. 适配现有libcublas版本安装PyTorch
当前环境默认依赖libcublas 11.10.x,可选择安装适配CUDA 11.8的PyTorch版本,该版本与现有libcublas版本兼容:
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia --solver=libmamba
安装完成后验证CUDA可用性:
python -c "import torch; print(torch.cuda.is_available())"
3. 强制安装兼容的libcublas版本
先手动安装符合pytorch-cuda=12.1要求的libcublas版本,再安装PyTorch:
conda install libcublas=12.1.0.26 -c nvidia --solver=libmamba conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia --solver=libmamba
如果第一步安装时仍有冲突,添加--force-reinstall参数强制替换现有版本。
4. 从零构建环境规避冲突
如果yaml文件依赖过多导致冲突,可创建空环境先安装PyTorch+CUDA,再手动添加H2-Mapping所需其他依赖:
conda create -n h2mapping_new python=3.8 # 替换为yaml中指定的Python版本 conda activate h2mapping_new conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia --solver=libmamba # 手动安装yaml中列出的其他依赖,如ROS相关包、numpy等 conda install <依赖包名称>
内容的提问来源于stack exchange,提问作者jellydog
相关产品推荐
相关产品推荐

