【问题标题】:R reticulate libstdc++so GLIBCXX_3.4.21 not found issueR reticulate libstdc++so GLIBCXX_3.4.21 not found 问题
【发布时间】:2019-03-21 08:19:28
【问题描述】:

我试图使用来自 R 的 pandas。我也使用了网状库。我使用的示例代码如下所示

library(reticulate) use_condaenv("my_env_37",required=T) py_discover_config() py_run_string("import pandas as pd")

错误

> py_run_string("import pandas as pd")
Error in py_run_string_impl(code, local, convert) :
  ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /opt/anaconda/envs/my_env_37/lib/python3.6/site-packages/pandas/_libs/window.cpython-36m-x86_64-linux-gnu.so)

Detailed traceback:
  File "<string>", line 1, in <module>
  File "/opt/anaconda/envs/my_env_37/lib/python3.6/site-packages/pandas/__init__.py", line 42, in <module>
    from pandas.core.api import *
  File "/opt/anaconda/envs/my_env_37/lib/python3.6/site-packages/pandas/core/api.py", line 26, in <module>
    from pandas.core.groupby import Grouper
  File "/opt/anaconda/envs/my_env_37/lib/python3.6/site-packages/pandas/core/groupby/__init__.py", line 1, in <module>
    from pandas.core.groupby.groupby import GroupBy  # noqa: F401
  File "/opt/anaconda/envs/my_env_37/lib/python3.6/site-packages/pandas/core/groupby/groupby.py", line 37, in <module>
    from pandas.core.frame import DataFrame
  File "/opt/anaconda/envs/my_env_37/lib/python3.6/si
Calls: py_run_string -> py_run_string_impl
Execution halted

来自py_discover_config()的输出


> py_discover_config()
python:         /opt/anaconda/envs/my_env_37/bin/python
libpython:      /opt/anaconda/envs/my_env_37/lib/libpython3.6m.so
pythonhome:     /opt/anaconda/envs/my_env_37:/opt/anaconda/envs/my_env_37
version:        3.6.8 |Anaconda custom (64-bit)| (default, Dec 30 2018, 01:22:34)  [GCC 7.3.0]
numpy:          /opt/anaconda/envs/my_env_37/lib/python3.6/site-packages/numpy
numpy_version:  1.16.2

NOTE: Python version was forced by use_python function

康达版本:4.6.8 Python版本:3.6.8 熊猫版:0.24.2 操作系统:RHEL 7.4 R版:3.5.1 网状版本:1.9

是否有任何其他配置我们必须使用才能使其正常工作。当我单独从 Python 运行相同的 pandas 导入时,它按预期工作。

【问题讨论】:

    标签: python r conda reticulate


    【解决方案1】:

    您的 GCC 似乎太旧而无法与您的 R 模块一起使用。 This issue 与 R 无关,但错误信息相同。

    您是否安装了多个 GCC(特别是在 /usr/local 中)?如果是这样,您可以按照我之前提供的链接中的建议尝试export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local/lib64:/usr/lib64 之类的方法。

    否则,您应该安装更新版本的 GCC(在模块环境中,如果您仍然需要当前版本的 GCC,请参阅here 了解详细信息,解释非常清楚恕我直言)。然后,您需要在新环境中运行 R。

    【讨论】:

    • 感谢您的解决方案。让我尝试同样的方法并更新。
    猜你喜欢
    • 1970-01-01
    • 2018-08-06
    • 1970-01-01
    • 2020-02-13
    • 2019-07-23
    • 2018-09-22
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    相关资源
    最近更新 更多