【问题标题】:Error with 'reticulate' r-package importing python script'reticulate' r-package 导入 python 脚本时出错
【发布时间】:2026-01-14 02:55:01
【问题描述】:

我正在尝试使用“reticulate”包来导入“mycode.py”。 *上有很多问题,但没有一个能解决我的问题。

我做了两种方法,但我得到了完全相同的错误。

1) source_python("/user/mycode.py")

我得到这个错误:

Error in py_run_file_impl(file, local, convert) : ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /user/.conda/envs/myenv/lib/python3.7/site-packages/scipy/sparse/_sparsetools.cpython-37m-x86_64-linux-gnu.so)

2)import_from_path('mycode', path='/user/', convert=TRUE)

我得到这个错误:

Error in py_module_import(module, convert = convert) : ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /user/.conda/envs/myenv/lib/python3.7/site-packages/scipy/sparse/_sparsetools.cpython-37m-x86_64-linux-gnu.so)

【问题讨论】:

  • 您的 R 是在与 Python 相同的 conda 安装中还是单独安装?需要不同库版本的 R Python 之间似乎存在冲突。
  • @KonradRudolph 是的,他们是

标签: python r scipy reticulate


【解决方案1】:

这可能是由于 Anaconda 附带的 libstdc++.so 版本与您系统上安装的版本之间的兼容性。

  1. 确认~/anaconda3/lib/中有一个libstdc++.so.6.0.xx(xx是最新版本的替换,我认为27是最新的):

    ls libstdc++.so.6.0.*

  2. 确认~/anaconda3/lib/中有符号链接libstdc++.so.6:

    ls libstdc++.so.6

  3. 删除现有的符号链接(如果它指向另一个版本的 libstdc++.so):

    rm ~/anaconda3/lib/libstdc++.so.6

  4. 将其重新链接到 libstdc++.so.6.0.xx:

    ln -s libstdc++.so.6.0.xx libstdc++.so.6

【讨论】: