MMCV\MM系列 报错:ImportError: libcudart.so.12: cannot open shared object file: No such file or directory

文章讲述了在Python版本过低(如2.0)且Torch版本过高(如2.0对应CUDA11.7)导致错误时,如何通过降级Python版本或创建一个3.9环境来解决问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python版本太低了,通常是torch的版本太高,比如2.0,只能支持CUDA11.7,但此时3.8的python版本就会报这个错。这个时候只能重新建一个环境3.9的python环境了。

### 解决 mamba 环境中导入 `libcudart.so.12` 出现的 ImportError 问题 当遇到 `ImportError: libcudart.so.12: cannot open shared object file: No such file or directory` 错误时,这通常意味着 CUDA 库未正确安装或路径配置不正确。以下是详细的解决方案: #### 方法一:验证并重新安装 CUDA 工具包 如果怀疑 CUDA 安装存在问题,则可以尝试卸载现有版本并重新安装最新稳定版。 ```bash conda remove cudatoolkit conda install cudatoolkit=12.0 -c nvidia ``` 上述命令会移除当前环境中的 CUDA 工具包,并安装指定版本的新工具包[^1]。 #### 方法二:设置 LD_LIBRARY_PATH 变量 有时即使库存在也可能会因为动态链接器找不到它而报错。可以通过临时修改 `LD_LIBRARY_PATH` 来指向正确的目录来解决问题。 ```bash export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$LD_LIBRARY_PATH ``` 这条指令将 Conda 环境下的 `/lib` 文件夹加入到共享库查找路径中[^2]。 #### 方法三:创建符号链接 对于某些情况,可能是因为缺少特定版本号的 `.so` 文件造成的。可以在相应位置创建一个符号链接指向实际存在的文件。 假设在 `$CONDA_PREFIX/lib/` 下有名为 `libcudart.so` 的文件但没有带版本号的部分,那么可以执行如下操作: ```bash cd $CONDA_PREFIX/lib/ sudo ln -s libcudart.so libcudart.so.12 ``` 这样就建立了从 `libcudart.so.12` 到已有的 `libcudart.so` 的软连接[^3]。 #### 方法四:更新 conda 和 mamba 确保使用的软件包管理器是最新的也很重要,旧版本可能存在兼容性问题或其他 bug。 ```bash conda update conda mamba update mamba ``` 通过保持这些工具处于最新状态可以帮助避免许多潜在的问题[^4]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值