我通过 pip 安装了 xgboost 并尝试在 Jupyter Notebook 上运行它。 然而,跑步的时候
from xgboost import XGBClassifier
在 Python 3 jupyter 笔记本上,我收到以下错误:
OSError: /home/martin/anaconda3/bin/../lib/libgomp.so.1: version GOMP_4.0' not found (required by /home/martin/anaconda3/lib/python3.6/site-packages/xgboost/./lib/libxgboost.so)
我该怎么办?
解决了。再次在https://github.com/dmlc/xgboost/issues/1786
找到解决方案为了让 GOMP_4.0 正常工作,请按照以下步骤操作:
在终端上输入以下内容(将路径替换为您自己的路径)
字符串 /home/martin/anaconda3/bin/../lib/libgomp.so.1 |grep GOMP 您将得到一个列表,GOMP_4.0 很可能不在那里(如果是的话,我认为这不会起作用,因为这不是问题)
输入
sudo find / -name libgomp.so.1*
您将获得一份地址列表。对每一个重复步骤 1 (
strings <path> |grep GOMP
),直到找到包含 GOMP_40 的一个(在我的例子中,/usr/lib/x86_64-linux-gnu/libgomp.so.1
)
现在输入以下内容,首先输入您的原始路径,然后输入包含 GOMP_4.0 的路径
sudo rm -rf <path in anaconda>
sudo ln -s <path with GOMP_4.0> <path in anaconda>
例如:
sudo rm -rf /home/martin/anaconda3/bin/../lib/libgomp.so.1
sudo ln -s /usr/lib/x86_64-linux-gnu/libgomp.so.1 /home/martin/anaconda3/bin/../lib/libgomp.so.1
这应该可以解决问题。不过,在此之后,我遇到了类似的错误:
OSError: /home/martin/anaconda3/lib/python3.6/site-packages/zmq/backend/cython/../../../../.././libstdc++.so.6:
version `GLIBCXX_3.4.20' not found (required by /home/martin/anaconda3/lib/python3.6/site-packages/xgboost/./lib/libxgboost.so)
我以同样的方式解决了这个问题,只不过这次在步骤 1) 中使用
|grep GLIBCXX
,在步骤 2) 中使用 sudo find / -name libgomp.so.1*
,这次寻找 GLIBCXX_3.4.20。