虚拟环境下ImportError: libcupti.so.11.2: cannot open shared object file: No such file or directory报错解决

报错出现的背景与报错情况

在学习课程《动手学深度学习》时,环境配置出现了问题。

我使用的是 WSL2 下的 Ubuntu22.04,开启了conda虚拟环境,Python版本为3.9.19.
出于一些原因需要重装 Pytorch GPU版本。
操作如下:
conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.6
安装成功后,
import torch 出现如下报错:

>>> import torch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/welda/CodingTools/anaconda3/envs/d2l/lib/python3.9/site-packages/torch/__init__.py", line 202, in <module>
    from torch._C import *  # noqa: F403
ImportError: libcupti.so.11.2: cannot open shared object file: No such file or directory

个人解决方法

报错意思是缺失文件:libcupti.so.11.2
但我先前安装过GPU版本的Pytorch,怀疑缺失的文件可能在系统的其它位置,只是重装时出现了未知的问题。

因此扫描全盘文件,如果系统里刚好有这个文件就方便了,直接copy即可。

WSL2中使用命令:
sudo find / -name libcupti.so.11.2
经过一段时间扫描后,发现文件路径:
/home/welda/CodingTools/anaconda3/pkgs/cudatoolkit-11.2.2-hc23eb0c_13/lib/libcupti.so.11.2

之后使用命令:
cp /home/welda/CodingTools/anaconda3/pkgs/cudatoolkit-11.2.2-hc23eb0c_13/lib/libcupti.so.11.2 ~/CodingTools/anaconda3/envs/d2l/lib/

打开Python后 import torch 没有出现问题。
torch.cuda.is_available() 返回 True
至此问题解决。

总结

sudo find / -name libcupti.so.11.2
找到文件路径[path to libcupti.so.11.2]

复制文件到正确路径
cp [path to libcupti.so.11.2] [path to anaconda3]/envs/[your env name]/lib/
即可解决问题。

尚未解决的疑惑

重装Pytorch时,我移除了虚拟环境之后,再次创建同名虚拟环境,但创建同名环境时,加载速度异常之快,环境立刻被创建,而这一情况不同于我第一次创建环境时,需要下载很久相关的包和数据。
安装Pytorch时情况同上,我并没有看见Pytorch被下载,然而整个安装过程立刻就完成了。
我不清楚以上情况为什么会发生,也尝试了多次重装Pytorch、删除虚拟环境后再创建虚拟环境并重装Pytorch,同时也尝试了Pytorch的不同版本安装。

总之,未被解决的问题如下:

  • 在我的情形下,Pytorch 的CPU版本可以正常 import torch,但不论是任何GPU版本都无法被正常 import
  • 重装Pytorch时, Pytorch的安装速度异常之快。
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值