问题
试图用conda安装pytorch的gpu版本:
conda install pytorch torchvision torchaudio pytorch-cuda=12.1
但环境一直无法解析:
原因
清华源不再支持/有故障:
(虽然2019-07-21官方通知又恢复了镜像,但似乎不太好使🤔)
解决方法
删除不能用的conda镜像源。
检查原本设置的镜像源:
conda config --show-sources
(这里的阿里云镜像源也不能使用,猜测是改了目录)
删除所有添加的镜像源:
conda config --remove-key channels
再检查镜像源为空。
从官方源下载pytorch:
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
成功,并且速度不慢。
其它错误
包冲突 / 下载成cpu的版本
经过以上操作,从官方源下载时,可能出现torch和基础包冲突的问题:
(或者安装时由于冲突,自动改为下载cpu版本)
原因是在前序下载中,自动下载了部分不匹配的版本的包。
解决方法:删除版本混乱的conda环境,开一个新的干净的环境,全部重新安装一遍。
仍然没有解决?
以上方法不能完全解决缓慢问题,尤其是使用conda-forge通道的时候。可能的原因是:1) conda内部设置混乱了;2)anaconda的搜索库太大。
卸载Anaconda,改为安装 Miniforge 可以完全解决问题:
-
卸载Anaconda:Uninstalling Anaconda Distribution — Anaconda documentation
-
安装Miniforge:https://github.com/conda-forge/miniforge
装完后和conda的命令完全相同。miniforge自带支持mamba加速,用的时候把'conda'改成'mamba'即可,比如:
mamba -n <env_name> python=3.9
mamba activate <env_name>
mamba install <package_name>
注意事项
用miniforge的时候,可能遇到找不到已经安装的lib的问题,原因是程序只搜索了系统目录,没有搜索miniforge底下的目录。手动在~/.bashrc里添加miniforge的lib路径:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<your_path_to_miniforge>/lib
改为自己安装miniforge的路径即可,比如:~/miniforge3/lib
Tips
miniforge默认从conda-forge通道下载,但在指定了多个通道的install命令中建议不要删除 -c -conda-forge,避免用错通道导致版本错误或缺失依赖文件。
如果mamba install / conda install 报错始终不能解决,尤其是文件缺失的报错,大概率是conda根据缓存cache中的已下载项执行了本次下载,重复了上一次的错误。
执行clean清理缓存:
mamba clean --all