错误信息:
ImportError: /lib64/libstdc++.so.6: version 'GLIBCXX_3.4.21' not found (required by /home/anaconda2/lib/python2.7/site-packages/pandas/_libs/window.so)
详细信息:
Traceback (most recent call last):
File "./myprj/client.py", line 3, in <module>
import myprj_online as online
File "./myprj/myprj_online.py", line 3, in <module>
import pandas as pd
File "/home/anaconda2/lib/python2.7/site-packages/pandas/__init__.py", line 42, in <module>
from pandas.core.api import *
File "/home/anaconda2/lib/python2.7/site-packages/pandas/core/api.py", line 10, in <module>
from pandas.core.groupby.groupby import Grouper
File "/home/anaconda2/lib/python2.7/site-packages/pandas/core/groupby/__init__.py", line 2, in <module>
from pandas.core.groupby.groupby import (
File "/home/anaconda2/lib/python2.7/site-packages/pandas/core/groupby/groupby.py", line 49, in <module>
from pandas.core.frame import DataFrame
File "/home/anaconda2/lib/python2.7/site-packages/pandas/core/frame.py", line 74, in <module>
from pandas.core.series import Series
File "/home/anaconda2/lib/python2.7/site-packages/pandas/core/series.py", line 3978, in <module>
Series._add_series_or_dataframe_operations()
File "/home/anaconda2/lib/python2.7/site-packages/pandas/core/generic.py", line 8891, in _add_series_or_dataframe_operations
from pandas.core import window as rwindow
File "/home/anaconda2/lib/python2.7/site-packages/pandas/core/window.py", line 36, in <module>
import pandas._libs.window as _window
ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/anaconda2/lib/python2.7/site-packages/pandas/_libs/window.so)
问题背景:
用C++调用Python的模块client.py时出现该问题。
但是直接用Python命令调用的时候,没有问题。
解决方式:
- 原因:版本冲突。
/lib64/libstdc++.so.6
不符合/home/anaconda2/lib/python2.7/site-packages/pandas/_libs/window.so
的需要。 - 解决:
- 查看一下符合
window.so
依赖的libstdc++.so是哪个:
$ ldd /home/anaconda2/lib/python2.7/site-packages/pandas/_libs/window.so | grep libstdc++
libstdc++.so.6 => /home/anaconda2/lib/python2.7/site-packages/pandas/_libs/../../../../libstdc++.so.6 (0x00007f9fa45f1000)
$ #即 /home/anaconda2/lib/libstdc++.so.6
$ #确认一下这个版本是不是 GLIBCXX_3.4.21 的
$ grep GLIBCXX_3.4.21 /home/anaconda2/lib/libstdc++.so.6
Binary file /home/anaconda2/lib/libstdc++.so.6 matches
- 将
/home/anaconda2/lib
添加进环境变量
export LD_LIBRARY_PATH=/home/anaconda2/lib:$LD_LIBRARY_PATH
重新启动后,问题解决