尝试在 Jupyter Notebook 上运行 XGBoost 时出现操作系统错误

问题描述 投票:0回答:1

我通过 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)

我该怎么办?

python jupyter-notebook xgboost
1个回答
1
投票

解决了。再次在https://github.com/dmlc/xgboost/issues/1786

找到解决方案

为了让 GOMP_4.0 正常工作,请按照以下步骤操作:

  1. 在终端上输入以下内容(将路径替换为您自己的路径)

    字符串 /home/martin/anaconda3/bin/../lib/libgomp.so.1 |grep GOMP 您将得到一个列表,GOMP_4.0 很可能不在那里(如果是的话,我认为这不会起作用,因为这不是问题)

  2. 输入

    sudo find / -name libgomp.so.1*
    

您将获得一份地址列表。对每一个重复步骤 1 (

strings <path> |grep GOMP
),直到找到包含 GOMP_40 的一个(在我的例子中,
/usr/lib/x86_64-linux-gnu/libgomp.so.1

  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/backe‌​nd/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。

© www.soinside.com 2019 - 2024. All rights reserved.