1、错误
这种错误就是虚拟环境下版本高,但是系统下的版本达不到虚拟环境下的版本,因此需要我们将虚拟环境下的更新复制到系统下
ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by /home/lj/anaconda3/envs/dgl/lib/python3.6/site-packages/scipy/fft/_pocketfft/pypocketfft.cpython-36m-x86_64-linux-gnu.so)
2、解决
libstdc++.so.6中没有 GLIBCXX_3.4.22,肯定就是因为少了它。所以先查看是否真的缺少,也就是查看系统libstdc++.so.6。
进入服务器直接查看系统路径下/usr/lib64最新版本
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
发现最高为3.4.1版本
但是代码提示里面还有个路径,去查那个路径下最高版本是多少
#required by /home/lj/anaconda3/envs/dgl/lib/python3.6/site-packages/scipy/fft/_pocketfft/pypocketfft.cpython-36m-x86_64-linux-gnu.so
cd /home/lj/anaconda3/envs/dgl/lib/
strings libstdc++.so.6 | grep GLIBCXX
发现最高都达到3.4.26了
于是
sudo cp libstdc++.so.6 /usr/lib64
查看系统路径是否更新
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
【成功】
https://blog.csdn.net/jsk_learner/article/details/102468919