阅读量:0
OSError: libcusparse.so.11: cannot open shared object file: No such file or director
使用pytorch进行一些矩阵运算时,通常需要安装cluster,scatter,sparse,spline几个依赖包。
torch四个依赖包cluster,scatter,sparse,spline的安装
- 首先查看torch的版本
#conda activate envname,激活虚拟环境 #python3#进入python console import torch#导入torch包 print(torch.__version__)#查看torch版本
我的虚拟环境中安装的torch版本时1.11.0+cu113
2. 在torch-geometric官网中去查看对应版本的依赖包
找到版本的地方进去下载应合python版本和系统的包,我下载的是以下四个版本
torch cluster-1.6.0-cp37-cp37m-linux x86 64.whl
torch scatter-2.0.9-cp37-cp37m-linux x86 64.whl
torch_sparse-0.6.13-cp37-cp37m-linux x86 64.whl
torch_spline conv-1.2.1-cp37-cp37m-linux x86 64.whl
如果是远程linux中安装,可以用XFTP等远程文件传输助手将其上传到linux服务器中。
然后用pip命令安装即可:
pip isntall torch_cluster-1.6.0-cp37-cp37m-linux_x86_64.whl pip isntall torch scatter-2.0.9-cp37-cp37m-linux x86 64.whl pip isntall torch_sparse-0.6.13-cp37-cp37m-linux x86 64.wh pip isntall torch_spline conv-1.2.1-cp37-cp37m-linux x86 64.whl
在pycharm运行时出现OSError: libcusparse.so.11: cannot open shared object file: No such file or director错误
- 首先使用find命令查找linux中是否存在libcusparse.so.11这个文件
find / -name libcufft.so.11 2>/dev/null
在另外的目录下存在这个文件,那么就可以直接将这个文件复制到我们的环境目录下。
cp -r srcpath dicpath #我的dicpath=XXX/anaconda3/envs/py37/lib/python3.7/site-packages,其中XXX替换为自己服务器上的目录
- 将上述路径添加到环境变量中
$ export PATH=/XXX/anaconda3/envs/py37/bin:$PATH $ echo $PATH $ export CPATH=/XXX/anaconda3/envs/py37/include:$CPATH $ echo $CPATH $ export LD_LIBRARY_PATH=/XXX/anaconda3/envs/py37/lib64:$LD_LIBRARY_PATH $ echo $LD_LIBRARY_PATH
如果只添加LD_LIBRARY_PATH环境变量也可以正常运行的话,可以只添加这一个。
这时候在linux的terminal应该能够正常运行了,但是在pycharm中运行还是会报一样的错误,那么就去设置以下pycharm中的运行环境
在环境变量中将刚刚的“LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH $ echo $LD_LIBRARY_PATH”
添加进去,在pycharm中就可以正常运行了。