报错信息:
ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /home/deployer/anaconda3/envs/py37/lib/python3.7/site-packages/scipy/sparse/_sparsetools.cpython-37m-x86_64-linux-gnu.so)
解决办法:
vim ~/.bash_profile
添加
LD_LIBRARY_PATH=/data/anaconda3/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
最后执行:source ~/.bash_profile,使之生效即可。
如果这个方法不行,那就是说是这个问题:gcc动态库版本过老。。。
1.查看动态库
strings /usr/lib64/libstdc++.so.6 | grep CXXABI
发现没有CXXABI_1.3.9以及更高的版本
2.查找编辑gcc时生成的最新动态库
find / -name “libstdc++.so.*”
各种权限拒绝。。。发现一大堆里最后是输出的有效内容,目标文件是以…/lib/libstdc++.so.6.0.26结尾,因为我没有类似、usr/local/src…/lib/libstdc++.so.6.0.26的动态库,只能用anaconda3/lib中的来代替
3.复制到/usr/lib64/目录下
cp /home/deployer/anaconda3/envs/py37/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.26 /usr/lib64/
发现没权限,,,重新来
sudo cp /home/deployer/anaconda3/envs/py37/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.26 /usr/lib64/
4.进入/usr/lib64,ls命令查查看都有啥(不看也行,记得上面是so.6.0.26)将 libstdc++.so.6连接到libstdc++.so.6.0.26上去
cd /usr/lib64
ls
sudo rm -rf libstdc++.so.6
sudo ln -s libstdc++.so.6.0.26 libstdc++.so.6
5.最后一步,看看动态库是否升级完成
strings /usr/lib64/libstdc++.so.6 | grep ‘CXXABI’
嗯,没啥问题,这样就行了
参考 https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/80150207