当前位置:   article > 正文

服务器RStudio:ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26‘ not found_libstdc++.so.6.0.29

libstdc++.so.6.0.29

RStudio:
想在RStudio中调用python文件

library(reticulate)
source_python("metrics.py")
  • 1
  • 2

报错:

Error in py_run_file_impl(file, local, convert) : 
ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /home/***/miniconda3/envs/r-reticulate/lib/python3.9/site-packages/scipy/optimize/_group_columns.cpython-39-x86_64-linux-gnu.so)
  • 1
  • 2

解决办法:
1 先去/usr/lib/x86_64-linux-gnu/中查看:

strings libstdc++.so.6 | grep GLIBCXX
  • 1

在这里插入图片描述
果真没有3.4.26
2 去自己的python安装路径的lib文件夹中查看libstdc++.so.6的最新版本:

ls | grep libstdc++.so.6
  • 1

在这里插入图片描述
查看最新新本中的GLIBCXX

strings libstdc++.so.6.0.29 | grep GLIBCXX
  • 1

在这里插入图片描述
有想要的版本,所以要更新/usr/lib/x86_64-linux-gnu/libstdc++.so.6

1 先移动最新版本的libstdc++.so.6也就是libstdc++.so.6.0.29到/usr/lib/x86_64-linux-gnu/中(需要root权限)

cp libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/
  • 1

2 更改 /usr/lib/x86_64-linux-gnu/libstdc++.so.6的文件名

mv libstdc++.so.6 libstdc++.so.6.bak
  • 1

然后执行

ln -s libstdc++.so.6.0.29 libstdc++.so.6
  • 1

重新构建动态库libstdc++.so.6,查看是否成功

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6|grep GLIBCXX
  • 1

在这里插入图片描述
可以发现成功了,但是还有最后一步,那就是重启RStudio!

rstudio-server restart
  • 1

在这里插入图片描述
不报错啦!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/211555
推荐阅读
相关标签
  

闽ICP备14008679号