Xgboost: pipのインストールに失敗しました

作成日 2015年09月02日  ·  72コメント  ·  ソース: dmlc/xgboost

root @ 0c6c17725a7b :/#pip install xgboost
xgboostのダウンロード/解凍
要件xgboostを満たすバージョンが見つかりませんでした(バージョンから:0.4a12、0.4a13)
清掃...
xgboostのバージョンに一致するディストリビューションはありません
失敗のデバッグログを/root/.pip/pip.logに保存する

Dockerで繰り返すことができます:
docker run -it --rm ubuntu:trusty

apt-get update
apt-get install python-pip
pip install xgboost

これも参照してください:

http://stackoverflow.com/questions/32258463/install-xgboost-under-python-failing

最も参考になるコメント

私はそれを最初から構築しなければなりませんでした:

git clone --recursive https://github.com/dmlc/xgboost.git  
cd xgboost  
./build.sh
pip install -e python-package  

全てのコメント72件

私にはうまくいかないようです

ubuntu @ ip-172-31-11-169 :〜$ sudo apt-get update
... yadda yadda
ubuntu @ ip-172-31-11-169 :〜$ sudo apt-get install python-pip
パッケージリストを読んでいます...完了
依存関係ツリーの構築
状態情報を読み取っています...完了
python-pipはすでに最新バージョンです。
0がアップグレードされ、0が新しくインストールされ、0が削除され、74がアップグレードされていません。
ubuntu @ ip-172-31-11-169 :〜$ sudo pip install xgboost
xgboostのダウンロード/解凍
要件xgboostを満たすバージョンが見つかりませんでした(バージョンから:0.4a12、0.4a13)
清掃...
xgboostのバージョンに一致するディストリビューションはありません
失敗のデバッグログを/home/ubuntu/.pip/pip.logに保存する
ubuntu @ ip-172-31-11-169 :〜$

--preのstackoverflowの提案により、次のようになりました。

ubuntu @ ip-172-31-11-169 :〜$ sudo pip install --pre xgboost
xgboostのダウンロード/解凍
xgboost-0.4a13.tar.gz(690kB)のダウンロード:690kBをダウンロード
パッケージxgboostのsetup.py(パス:/tmp/pip_build_root/xgboost/setup.py)egg_infoを実行しています
xgboost / build-python.sh:13:xgboost / build-python.sh:pushd:見つかりません
make: *ターゲットpython'. Stop. ----------------------------- Building multi-thread xgboost failed Start to build single-thread xgboost make: *** No rule to make targetをクリーンにするルールはありません。
やめる。シングルスレッドxgboostのビルドに成功マルチスレッドバージョンが必要な場合doc /build.mdの追加の手順を参照してくださいxgboost / build-python.sh:26:xgboost / build-python.sh:popd:見つかりません(なし、なし)トレースバック(最後の最後の呼び出し):ファイル ""、17行目、


init .py "、8行目、








self._handle = _dlopen(self._name、mode)
OSError:/ tmp / pip_build_root / xgboost / xgboost /./ wrapper / libxgboostwrapper.so:無効なELFヘッダー
コマンドpythonsetup.py eg_infoからの完全な出力:
xgboost / build-python.sh:13:xgboost / build-python.sh:pushd:見つかりません

make:***ターゲットを `python 'にするルールはありません。 やめる。


マルチスレッドxgboostの構築に失敗しました

シングルスレッドxgboostの構築を開始します

make:***ターゲットを「クリーン」にするルールはありません。 やめる。

make:***ターゲットを `python 'にするルールはありません。 やめる。

シングルスレッドxgboostのビルドに成功

マルチスレッドバージョンが必要な場合

doc /build.mdの追加の手順を参照してください

xgboost / build-python.sh:26:xgboost / build-python.sh:popd:見つかりません

(なし、なし)

トレースバック(最後の最後の呼び出し):

ファイル ""、17行目、

ファイル "/tmp/pip_build_root/xgboost/setup.py"、行20、

import xgboost

ファイル "./xgboost/ init .py"、8行目

from .core import DMatrix, Booster

ファイル "./xgboost/core.py"、78行目

_LIB = _load_lib()

_load_libのファイル "./xgboost/core.py"、72行目

lib = ctypes.cdll.LoadLibrary(lib_path[0])

LoadLibraryのファイル "/usr/lib/python2.7/ctypes/ init .py"、行443

return self._dlltype(name)

ファイル "/usr/lib/python2.7/ctypes/ init .py"、行365、 init

self._handle = _dlopen(self._name, mode)

OSError:/ tmp / pip_build_root / xgboost / xgboost /./ wrapper / libxgboostwrapper.so:無効なELFヘッダー


清掃...
コマンドpythonsetup.pyegg_infoが/ tmp / pip_build_root / xgboostのエラーコード1で失敗しました
失敗のデバッグログを/home/ubuntu/.pip/pip.logに保存する
ubuntu @ ip-172-31-11-169 :〜$

@cliveseldon @grfiv公式バージョン0.4が長い間存在していて、pipインストールにソースコードからの最近の更新が含まれているため、pipインストールのバージョン管理にはいくつかの混乱があります。そのため、バージョンに0.4a120.4a13という名前を付けました。なにか。 次回の公式リリースから修正される予定です。

pipのインストールを更新するための良い解決策は、サイトパッケージディレクトリからxgboostディレクトリとxgboost-0.4a13.dist-infoディレクトリの両方を削除することです(例: /User/phunterlau/python2.7/site-packages/ )(インストール場所はprint xgboost.__file__から見つけることができます)

こんにちは、
私のubuntuボックスにも同じ問題があります:

走る :

sudo -H pip install --pre xgboost
python -c "import xgboost"

次のように失敗します:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/xgboost/__init__.py", line 11, in <module>
    from .core import DMatrix, Booster
  File "/usr/local/lib/python2.7/dist-packages/xgboost/core.py", line 92, in <module>
    _LIB = _load_lib()
  File "/usr/local/lib/python2.7/dist-packages/xgboost/core.py", line 86, in _load_lib
    lib = ctypes.cdll.LoadLibrary(lib_path[0])
  File "/usr/lib/python2.7/ctypes/__init__.py", line 443, in LoadLibrary
    return self._dlltype(name)
  File "/usr/lib/python2.7/ctypes/__init__.py", line 365, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /usr/local/lib/python2.7/dist-packages/xgboost/./wrapper/libxgboostwrapper.so: invalid ELF header

--preなしでも試しましたが、同じように失敗します。

どんな手掛かり ?
ありがとう、
F。

私はpipinstall xgboostを使用して、macOSXにxgboost-0.4a14をインストールしました。 ロードしようとすると、このエラーが発生しました。

OSErrorトレースバック(最後の最後の呼び出し)
()
----> 1インポートxgboostをxgbとして

/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/ init .py in()
9インポートOS
10
---> 11 from .core import DMatrix、Booster
12 .training import train、cvから
13 .sklearnからインポートXGBModel、XGBClassifier、XGBRegressor

/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/core.py in()
90
91#XGBoostライブラリをグローバルにロードする
---> 92 _LIB = _load_lib()
93
94 def _check_call(ret):

/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/core.py in _load_lib()
84 if len(lib_path)== 0:
85リターンなし
---> 86 lib = ctypes.cdll.LoadLibrary(lib_path [0])
87 lib.XGBGetLastError.restype = ctypes.c_char_p
88 return lib

/Users/azaitzeff/anaconda/lib/python2.7/ctypes/ init .pyc in LoadLibrary(self、name)
441
442 def LoadLibrary(self、name):
-> 443 return self._dlltype(name)
444
445 cdll = LibraryLoader(CDLL)

/Users/azaitzeff/anaconda/lib/python2.7/ctypes/ init .pyc in init (self、name、mode、handle、use_errno、use_last_error)
363
ハンドルがNoneの場合は364:
-> 365 self._handle = _dlopen(self._name、mode)
366その他:
367 self._handle =ハンドル

OSError:dlopen(/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost /./ wrapper / libxgboostwrapper.so、6):ライブラリがロードされていません:/usr/local/lib/gcc/4.9/libgomp .1.dylib
参照元:/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost /./ wrapper / libxgboostwrapper.so
理由:画像が見つかりません

どんな助けでも。 ありがとう
AZ

@ AZaitzeff @ Fkawalaありがとう。 ubuntuまたはMacにgccがインストールされているかどうかを確認できますか? あなたの情報では、プリコンパイルされたlibの問題がわかります。システムにgccがインストールされていない場合、pipのビルドスクリプトは失敗します。 ただし、pipインストールパッケージには、Macのbrewからgcc4.9を使用してプリコンパイルされたliblibxgboostwrapper.soが含まれているため、ビルドスクリプトが失敗した場合、xgboostはこのプリコンパイルされたlibを検索します。 LinuxはこのMaclibを認識しないため、ELFコードエラーが発生します。 OpenMPのないMacの場合、リンクエラーが発生します。 今、私はそれがいくつかの混乱を引き起こすのを見て、それは良い考えではないかもしれません。 pipのインストールを更新し、gccがない場合はメッセージを表示します。 PS次の公式リリースでは、プリコンパイルされた静的リンクされたlibがあります。これは、プリコンパイルされたコードを出荷するためのより優れたソリューションです。

@phunterlauありがとう。 MacにOpenMPがありません。 それがエラーの原因でした。

@phunterlauわかりました。適切なコンパイル環境をセットアップし、pipのインストールを再度テストします。

早速のお返事ありがとうございます。

そこで、brew install clang-ompを実行して、インストールしました。 xgboostディレクトリとxgboost-0.4a13.dist-infoを削除し、pip installxgboostを再実行しました。 ターミナルウィンドウを閉じて、再度開きました。 しかし、xgboostをインポートしようとすると、同じエラーが発生します。 何かご意見は?

@AZaitzeffは実際にはclang-ompを推奨していません。これは、Xcodeのclangがサポートしていないため、clang-ompが奇妙な結果をもたらす可能性があるためです。 mac pipインストールパッケージは、OpenMPを使用したbrewからgcc4.9で作成およびテストされました。 brew install gcc49で試してみませんか? 現在、brewからのgcc 5もありますが、完全にテストする機会がありませんでした。 次のpipアップロードで行います。

うまくいきましたありがとう。

@phunterlauビルド( ./xgboost/build-python.shを使用)は魅力のように機能します。 ただし、pipをインストールすると、コンパイル済みのlibが作成されます。 setup.pyを変更して、コンパイルが試行されない理由を示しました。 PIP 7.1.2(python 2.7)を使用して、実行するには:

pip install --user -e ./tweaked-xgboost-0.4a13/

与える:

'pip' in __file__: False
not os.name == 'nt': True

http://stackoverflow.com/questions/9959279/detect-pip-in-setup-py [1]によると、 'pip' in __file__テストはPy 2.7 2014-10-27でもカスタムインストールでも機能しません(以前のコメントで使用したように)。 [1]で提案されているように、 'pip' in os.environ.get('_')は、pipがsetup.pyを実行しているかどうかをテストするためのより標準的な方法です。

@Fkawalaありがとう。 'pip' in __file__は昔からの古いトリックで、新しいものを知ってうれしいです。 pipのインストールを更新し、後でPRを送信します(他のいくつかのパッチを使用)。

@phunterlau私は同様の問題を抱えていますが、このELFエラーを修正する方法を理解していませんでした。 私はubuntuに取り組んでおり、pipを使用してインストールした後、xgboostパッケージをインポートできません。 あなたはgccについて書きました、私はgcc-4.9をインストールしました、しかしそれでも動作しません、私が欠けているものは何ですか?

これが私のエラーです:

xgboostをインポートする

OSErrorトレースバック(最後の最後の呼び出し)
()
----> 1インポートxgboost
/home/antklen/anaconda/lib/python2.7/site-packages/xgboost/ init .py in()
9インポートOS
10
---> 11 from .core import DMatrix、Booster
12 .training import train、cvから
13 .sklearnからインポートXGBModel、XGBClassifier、XGBRegressor
/home/antklen/anaconda/lib/python2.7/site-packages/xgboost/core.py in()
90
91#XGBoostライブラリをグローバルにロードする
---> 92 _LIB = _load_lib()
93
94 def _check_call(ret):
/home/antklen/anaconda/lib/python2.7/site-packages/xgboost/core.py in _load_lib()
84 if len(lib_path)== 0:
85リターンなし
---> 86 lib = ctypes.cdll.LoadLibrary(lib_path [0])
87 lib.XGBGetLastError.restype = ctypes.c_char_p
88 return lib
LoadLibrary(self、name)の/home/antklen/anaconda/lib/python2.7/ctypes/__init__.pyc
441
442 def LoadLibrary(self、name):
-> 443 return self._dlltype(name)
444
445 cdll = LibraryLoader(CDLL)
/home/antklen/anaconda/lib/python2.7/ctypes/__init__.pyc in init (self、name、mode、handle、use_errno、use_last_error)
363
ハンドルがNoneの場合は364:
-> 365 self._handle = _dlopen(self._name、mode)
366その他:
367 self._handle =ハンドル
OSError:/home/antklen/anaconda/lib/python2.7/site-packages/xgboost /./ wrapper / libxgboostwrapper.so:無効なELFヘッダー

Windowsの@antklenでは、最初にsetuptoolsをインストールする必要があります。 それがubuntuの場合かどうかはわかりませんが、試してみる価値はありますか?

@antklenこれは、現在のpipインストールがオンザフライコンパイラスクリプトであり、一部のMacユーザーがコンパイル用にg ++をインストールしなかった場合に備えて、Macバージョンの.soファイルが付属しているためです。 それは良い考えではなく、Linuxユーザーに混乱を引き起こしました。

解決策は、gccとg ++ apt-get install g++をインストールして、コンパイルスクリプトを取得することです。

また、pipが0.7.1.2よりも新しい場合は、pipが実行されているかどうかを確認するという別の問題が発生する可能性があります。 次のリリースで修正して出荷します。 g ++が発生しても同じエラーが発生する場合は、インストールドキュメントに従って、setup.pyから手動でインストールしてください。

@smargsongithub @phunterlau返信ありがとうございます!
apt-get install g ++も機能しませんでしたが、ここで説明されているように手動インストールで成功しましたhttps://www.kaggle.com/c/springleaf-marketing-response/forums/t/16320/cloud-vs-ローカルマシンの長所と短所
Anacondaを使用しているために問題が発生したため、最終的なレシピは次のとおりです。

sudo apt-get install make
sudo apt-get update
sudo apt-get install gcc
sudo apt-get install g ++
sudo apt-get install git
sudo git clone https://github.com/dmlc/xgboost
cd xgboost
sudo ./build.sh
cdpython-パッケージ
sudo / home / username / anaconda / bin / python setup.py install

@antklenああ、g ++をインストールするときにsudoが必要です:-)

@Fkawala更新されたpipに対して'pip' in os.environ.get('_')を試していますが、 os.environ.get('_')は常にNoneを返し、このifステートメントでエラーが発生します。 コマンドラインでpipかどうかを検出する他の方法はありますか? それ以外の場合は、pip専用に別のsetup.pyを作成し、そこでコンパイラーをトリガーします。 ありがとう。

@phunterlau pip install xgboostから次のトレースバックを取得しています、何か考えはありますか? (Macを実行している)

トレースバック(最後の最後の呼び出し):
ファイル ""、20行目、
ファイル "/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/setup.py"、38行目
LIB_PATH = libpath'find_lib_path '
ファイル「/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/xgboost/libpath.py」、47行目、find_lib_path
'候補者のリスト:n ' +( 'n'.join(dll_path)))
組み込みの.XGBoostLibraryNotFound:候補パスにXG​​Boost Libararyが見つかりません。ルートパスでbuild.shを実行しましたか?
候補者リスト:
/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/xgboost/libxgboostwrapper.so
/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/xgboost/../../wrapper/libxgboostwrapper.so
/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/xgboost/./wrapper/libxgboostwrapper.so
/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/xgboost/../../../xgboost/wrapper/libxgboostwrapper.so


コマンド「pythonsetup.pyegg_info」が/ private / var / folder / 7g / thc6mmqd2nb55r21htwx2slr0000gp / T / pip-build-0BlCW9 / xgboostのエラーコード1で失敗しました

@ pcohen89このPythonパッケージにはC ++コードが付属しており、オンザフライでコンパイルされるため、コンパイラが必要になる場合があります。 Xcodeのgcc-5やclangLLVMなどのコンパイラがインストールされていますか? Macはデフォルトでxcodeコマンドラインツールをインストールしません。この手順に従うことができますhttp://railsapps.github.io/xcode-command-line-tools.htmlまたは、別のより良い選択はhomebrew httpをインストールすることですbrew install g++-5 。 後者のオプション(g ++-5)は、マルチスレッドOpenMPサポートを提供します。

コンパイラをインストールした後、古いxgboostインストールを削除し、 pip install xgboostをやり直してください。

@antklen @ phunterlau @ antklenが述べた手順に従って試してみました。 これで、ターミナルでimportxgboostを実行できるようになりました。 ただし、anacondas ipythonノートブックでは、以下のエラーが発生します。 助けてください。 私はubuntuを使用しています。

XGBoostLibraryNotFound: Cannot find XGBoost Libarary in the candicate path, did you run build.sh in root path?
List of candidates:
/home/simpl/anaconda/lib/python2.7/site-packages/xgboost-0.4-py2.7.egg/xgboost/libxgboostwrapper.so
/home/simpl/anaconda/lib/python2.7/site-packages/xgboost-0.4-py2.7.egg/xgboost/../../wrapper/libxgboostwrapper.so
/home/simpl/anaconda/lib/python2.7/site-packages/xgboost-0.4-py2.7.egg/xgboost/./wrapper/libxgboostwrapper.so

@Jeechuは、xgboostがコンパイルされていないことを意味します。

  1. 古いxgboostインストールを削除しましたか?
  2. インストールされているxcode(mac)、またはgcc-5(Macはbrewを使用し、linuxはapt-getまたはyumを使用します)?

pip install xgboost -vは、エラーメッセージについて詳しく知ることができます。

@phunterlau meと@Jeechuは、古いxgboostインストールを削除し、gcc、g ++をインストールしました。 XGBoostはターミナル経由で正常に実行されていますが、anacondaipythonノートブックを使用するとエラーが発生します。

インストールパスに問題がありますか?

@rajdeltarobo @Jeechu ipythonノートブックのpythonバージョンは何ですか? そして、.bashrc(またはシェルの他のenvファイル)の$PYTHONPATH変数は何ですか?

xgboostがpipインストールパスではない/home/simpl/anaconda/lib/python2.7/site-packages/xgboost-0.4-py2.7.egg/を検索しているようです(pipインストールにはxgboost-0.4a24などの追加のバージョン番号があります)ので、ipythonノートブックはpython setup.py installからxgboostを検索しようとしますgithubから、したがって問題は$PYTHONPATHから来る可能性があります

@phunterlau $PYTHONPATHは定義されておらず、空白を返します。 ただし、以下はパスの値です

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/simpl/anaconda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Pythonパスは

➜  ~  which python  
/usr/bin/python

ipythonノートブックのpythonバージョンは2.7です

このようなものをPYTHONPATHに追加するのはどうですか?
/Users/simpl/anaconda/lib/python2.7/site-packages/

anacondaのpythonを使用する場合は、すべてをそのまま使用します。それ以外の場合は、複数のpythonをインストールする代わりにvirtualenvを使用します。 同じマシンに複数のPythonがインストールされていると、非常に混乱します。

@phunterlau動作していません。 私はubuntuを使用しているので追加しました

/home/user/anaconda/lib/python2.7/site-packages/

ただし、これはBashrcファイルの最後にあります。

# added by Anaconda 2.3.0 installer
export PATH="/home/user/anaconda/bin:$PATH"

@phunterlau gccをインストールしていて、それで十分だと思いました。 Xcodeを入手し、すべて機能しました。 Xgboostをご愛顧いただき、誠にありがとうございます。素晴らしいです。皆さんはとても親切です。

@ pcohen89xcodeが役に立ったことを知ってうれしいです。 xcode clangはシングルスレッドxgboostのみをサポートしているので、マルチスレッドサポートにbrew install g++-5を試してみてください。 とにかく、作業コピーは良いコピーです。

@rajdeltarobo PATHは、PYTHONPATHとは異なります。PYTHONPATHを使用すると、Pythonはカスタマイズされたパッケージのインストールを見つけることができます。 それを追加して、bashrcを調達してください。

/wrapper/libxgboostwrapper.soを/home/username/anaconda3/lib/python3.4/site-packages/xgboost-0.4-py3.4.egg/xgboost/にコピーして問題を解決しました(Ubuntu 14.04を使用しています)

私の問題は:

XGBoostLibraryNotFound:候補パスにXG​​Boost Libararyが見つかりません。ルートパスでbuild.shを実行しましたか?
候補者リスト:
/home/simpl/anaconda/lib/python2.7/site-packages/xgboost-0.4-py2.7.egg/xgboost/libxgboostwrapper.so
/home/simpl/anaconda/lib/python2.7/site-packages/xgboost-0.4-py2.7.egg/xgboost/../../wrapper/libxgboostwrapper.so
/home/simpl/anaconda/lib/python2.7/site-packages/xgboost-0.4-py2.7.egg/xgboost/./wrapper/libxgboostwrapper.so

@davutpolatメッセージのエラーは、pipインストールの競合解決に関する最近の変更によるものですが、変更は適切ではないことが判明したため、ロールバックしました(PR#572)。 将来的には、このコピーは不要であり、オンザフライでコンパイルするpipインストール専用の別の個別のセットアップ構成があります。 ここ数日ご不便をおかけして申し訳ありません。

pipを介してxgboostをインストールしようとしていますが、 @ davutpolatと同じエラーで失敗します。 彼のソリューションを使用したかったのですが、/ wrapper / libxgboostwrapper.soがどこにあるのかわかりません。

@claygirlシステムにgccまたはclangがありますか? システム環境とエラーメッセージも教えてください

解決。 同じOSErrorがありました:/usr/local/lib/libxgboostwrapper.so:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません。 コピーしました
site-packages / xgboost-0.4-py2.7.egg / xgboost/。/wrapper /libxgboostwrapper.soを/ usr / local / lib /に移動し、機能しているようです。
しかし、私は2.7と3.4の両方を持っているので、それに満足していません。 ..新しい解決策はありますか?

@dsivakumar site-packages / xgboost-0.4-py2.7.egg / xgboost /./ wrapperはlibxgboostwrapper.soの予想される場所であり、pipを使用してインストールすると、xgboost / lib_path.pyにこのパスが含まれているため、 import xgboostは簡単に見つけることができます。 2.7と3.4の両方が必要な場合は、virtualenvを使用し、pipを個別にインストールしてください。pipはPythonのバージョンに依存するためです。

@phunterlauありがとう、それが唯一の解決策のようです。

何度か試しましたが、Windows OSPCにxgboostをインストールする希望を失いました。
しかし今あなたは何をすべきかを助けるかもしれません
それはエラーです
C:UsersSander> pip install xgboost
xgboostを収集する
xgboostのダウンロード-0.4a30.tar.gz(753kB)
100%| ################################ | 753kB 397kB / s
にファイル/ディレクトリがありません
c:userssanderappdatalocaltemppip-build-gqsijfxgbo
ostpip-egg-info(PKG-INFOから)
私はanacondapythonインストールを使用します
kaggleコンテストの1つで、誰かがxgboosのインストールに失敗したことを覚えています。
別のテクニックを選択し、彼は2つの場所を獲得しました...

2016年1月7日木曜日午前3時31分、 dsivakumarnotifications @ github.comは次のように書いています。

@phunterlau https://github.com/phunterlauありがとう、それだけのようです
解決。


このメールに直接返信するか、GitHubで表示してください
https://github.com/dmlc/xgboost/issues/463#issuecomment-169595600

@ Sandy4321インストールガイドとトラブルシューティングで説明されているように、WindowsはVSコマンドラインコンパイラ用に設定されていないため、現在pipインストールをサポートしていません。 windows/のVSソリューションファイルを使用してコンパイルおよびインストールしてください。 それがあなたも2位になるのに役立つことを願っています:-)

XcodeなしでMac10.10.5にXgboostをインストールしようとしています。 私は最初に、brew install gcc--without-multilibによるopenmpサポート付きのGCC5.3をインストールしました。 第二に、私はxgboostを構築します

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
CC = / usr / local / bin / gcc-5をエクスポートします
CXX = / usr / local / bin / g ++-5をエクスポートします
cp make / config.mk ./config.mk
make -j4

次に、次のようなエラーが表示されます。
make: ** [lib /libxgboost.a]エラー1make:**未完成の仕事を待っています...。
clangclang ::警告:警告:コンパイル中に引数が使用されていません: '-pthread'
コンパイル中に未使用の引数: '-pthread'
ld:-lgompのライブラリが見つかりません
ld:-lgompのライブラリが見つかりません
clang:エラー:リンカーコマンドが終了コード1で失敗しました(呼び出しを確認するには-vを使用してください)
clang:エラー:リンカーコマンドが終了コード1で失敗しました(呼び出しを確認するには-vを使用してください)
make: ** [lib /libxgboost.so]エラー1make:* * [xgboost]エラー1

私はエラーを無視して続行しました。 以下のようにコードを入力しました
sudo ./build.sh

それからそれは言った
clang:警告:コンパイル中に引数が使用されていません: '-pthread'
シングルスレッドxgboostのビルドに成功

OpenMPでGCC5をインストールしたのに、なぜそれがまだシングルスレッドのXgboostであるのか教えていただけませんか。
インストールしたXgboostをマルチスレッドバージョンに変更するにはどうすればよいですか?

最近のmakefileはclang-ompでうまく機能します。

こんにちは、ご回答ありがとうございます。
つまり、xgboostはgccを必要とせず、コンパイラーとしてのclangもマルチスレッドをサポートできるということですよね? MAC 10.9以降にはclangが付属しているので、自作からclang-ompをダウンロードする必要がありますか?
私は初心者です。以前はこのWebサイトの方法に従ってxgboostをインストールしていましたが、現在、更新されたインストールガイドはありますか?構成方法を教えてください。
さらに、clang-ompに切り替えた後、最初にインストール済みのxgboostを削除してから、xgboostを再インストールする必要がありますか?
ありがとう!

2016-04-03 01:34:37に、「HongliangLiu」 [email protected]は次のように書いています。

最近のmakefileはclang-ompでうまく機能します。


コメントしたのでこれを受け取っています。
このメールに直接返信するか、GitHubで表示してください

迅速な返信をお願いします。 あなたの提案によると、私は自作でclang-ompをダウンロードしました。
それでは、私にとって次のステップは何ですか? 現在のxgboostを削除して、代わりに再インストールする必要があるかどうか。

config.mkのデフォルトのコンパイラをclang-ompに変更してください。 Mac OSXのビルド手順に従ってください。

urの指示のためのThx。 そして、config.mkのデフォルトのコンパイラを次のようにclang-ompに変更しました
`エクスポートCC = / usr / local / bin / clang-omp

エクスポートCXX = / usr / local / bin / clang-omp ++

ADD_CFLAGS = -fopenmp`

それから私はによってコンパイルします
make -j8

ただし、エラーが再び表示されます。
make: ** [lib /libxgboost.a]エラー1make:**未完成の仕事を待っています...。
clang-3.5clang-3.5 :: errorerror ::そのようなファイルまたはディレクトリはありません: 'rabit / lib / librabit.a'そのようなファイルまたはディレクトリはありません: 'rabit / lib / librabit.a'

make: ** [lib /libxgboost.so]エラー1make:* * [xgboost]エラー1

私に何か問題がありますか?

そして私は走ります
sudo ./build.sh
エラーは以下のように表示されます

include / dmlc / omp.h:13:9:警告:警告:OpenMPは利用できません。プロジェクトは
シングルスレッドコードにコンパイルされます。 OpenMP対応のコンパイラを使用して
マルチスレッドの利点。 [-W#pragma-messages]

プラグマメッセージ( "警告:OpenMPは使用できません。"

clang-ompbrew remove clang-omp; brew install clang-omp再インストールしてみてください; config.mkのこれらの2行( ADD_FLAGなし)のみを変更し、 Makefileと同じディレクトリにコピーしてください。

export CC = clang-omp
export CXX = clang-omp++

makeを実行します

Windows7を使用します。yhatRodeoのAnaconda。

xgboostをインストールしようとすると、次のエラーが発生します。 助けてください。

`! pip install xgboost

xgboostを収集する
キャッシュされたxgboost-0.4a30.tar.gzを使用する
C:UsersUSERAppDataLocalTemppip-build-dkmqc8n1xgboostpip-egg-info(PKG-INFOから)にファイル/ディレクトリがありません `

@phunterlauThxあなたの提案のために。 私はあなたの指示を試しましたが、次のエラーが発生しました。 提案をお願いします。
clang-impを再インストールし、Makefileと同じディレクトリのconfig.mkの2行(ADD_FLAGなし)を変更しました。

export CC = clang-omp
export CXX = clang-omp++

次に、 sudo make -j4を実行すると、次のエラーが発生しました。

ar crv lib/libxgboost.a 
ar: no archive members specified
usage:  ar -d [-TLsv] archive file ...
    ar -m [-TLsv] archive file ...
    ar -m [-abiTLsv] position archive file ...
    ar -p [-TLsv] archive [file ...]
    ar -q [-cTLsv] archive file ...
    ar -r [-cuTLsv] archive file ...
    ar -r [-abciuTLsv] position archive file ...
    ar -t [-TLsv] archive [file ...]
    ar -x [-ouTLsv] archive [file ...]
make: *** [lib/libxgboost.a] Error 1
make: *** Waiting for unfinished jobs....
clang-3.5: warning: argument unused during compilation: '-pthread'
clang-3.5: warning: argument unused during compilation: '-pthread'

次に、 sudo ./build.shを実行すると、次のエラーが発生します

ar crv lib/libxgboost.a 
ar: no archive members specified
usage:  ar -d [-TLsv] archive file ...
    ar -m [-TLsv] archive file ...
    ar -m [-abiTLsv] position archive file ...
    ar -p [-TLsv] archive [file ...]
    ar -q [-cTLsv] archive file ...
    ar -r [-cuTLsv] archive file ...
    ar -r [-abciuTLsv] position archive file ...
    ar -t [-TLsv] archive [file ...]
    ar -x [-ouTLsv] archive [file ...]
make: *** [lib/libxgboost.a] Error 1
-----------------------------
Building multi-thread xgboost failed

皆さんこんにちは、
Pythonを使用してWindowsにXgboostをインストールするには、次のスレッドの手順に従ってください。

http://stackoverflow.com/questions/33749735/how-to-install-xgboost-package-in-python-windows-platform

@boralうん、現在のpipインストールはウィンドウプラットフォームをサポートしていません。 あなたが理解したことをうれしく思います

@liyanjinコア部分に対して「makexgboost」を実行できます。 arを使用するには、Mac用のarをインストールする必要がある場合があります

私は同様の問題に直面しています。 私のエラーはかなりです

OSError: dlopen(/Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so, 6): Library not loaded: @rpath/./libgomp.1.dylib
  Referenced from: /Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so
  Reason: image not found

gccがインストールされていることを確認しました。
$ brew install gcc49
警告:homebrew / versions /gcc49-4.9.3はすでにインストールされています

私はMacOSを使用しており、anacondaを介してxgboostをインストールしました

@lalmanishaMacを使用していると思います。 Macでの現在のベストプラクティスは、 gcc clang-ompを使用することです。 brewからclang-ompをインストールして、config.mkのCCとCXXをclang-ompに変更してみてください。

お返事をありがとうございます。 それでも同じエラーメッセージが表示されます。 これが
`------------------------------------------------- -------------------------
OSErrorトレースバック(最後の最後の呼び出し)
()
14#現在のディレクトリに書き込んだ結果はすべて出力として保存されます。
15
---> 16xgboostをxgbとしてインポート
17 sklearn.linear_model import LogisticRegression
18パンダをpdとしてインポートします

/Users/mlal/anaconda/lib/python2.7/site-packages/xgboost.py in()
80
81#XGBoostライブラリをグローバルにロードする
---> 82 xglib = load_xglib()
83
84

load_xglib()の/Users/mlal/anaconda/lib/python2.7/site-packages/xgboost.py
57 if len(dll_path)== 0:
58 raise XGBoostLibraryNotFound( '候補パスにファイルが見つかりません' + str(dll_path))
---> 59 lib = ctypes.cdll.LoadLibrary(lib_path [0])
60
61#DMatrix関数

/Users/mlal/anaconda/lib/python2.7/ctypes/ init .pyc in LoadLibrary(self、name)
441
442 def LoadLibrary(self、name):
-> 443 return self._dlltype(name)
444
445 cdll = LibraryLoader(CDLL)

/Users/mlal/anaconda/lib/python2.7/ctypes/ init .pyc in init (self、name、mode、handle、use_errno、use_last_error)
363
ハンドルがNoneの場合は364:
-> 365 self._handle = _dlopen(self._name、mode)
366その他:
367 self._handle =ハンドル

OSError:dlopen(/Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so、6):ライブラリがロードされていません:@ rpath /./ libgomp.1.dylib
参照元:/Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so
理由:画像が見つかりません
`
config.mkファイルを以下のように変更しました

コンパイラの選択
エクスポートCC = clang-omp
エクスポートCXX = clang-omp
MPICXX = mpicxxをエクスポートします

sudo make -j4
ar crv lib / libxgboost.a
ar:アーカイブメンバーが指定されていません
使用法:ar -d [-TLsv]アーカイブファイル..。
ar -m [-TLsv]アーカイブファイル..。
ar -m [-abiTLsv]位置アーカイブファイル..。
ar -p [-TLsv]アーカイブ[ファイル...]
ar -q [-cTLsv]アーカイブファイル..。
ar -r [-cuTLsv]アーカイブファイル..。
ar -r [-abciuTLsv]位置アーカイブファイル..。
ar -t [-TLsv]アーカイブ[ファイル...]
ar -x [-ouTLsv]アーカイブ[ファイル...]
make: ** [lib /libxgboost.a]エラー1make:**未完成の仕事を待っています...。
clang:clang:エラー:エラー:サポートされていないオプション '-fopenmp'サポートされていないオプション '-fopenmp'

make: ** [lib /libxgboost.so]エラー1make:* * [xgboost]エラー1
私が走ったとき
sudo ./build.sh

maker.o build / tree / updater_sync.o dmlc-core / libdmlc.a rabit / lib / librabit_empty.a -pthread -lm
clang:警告:コンパイル中に引数が使用されていません: '-pthread'
シングルスレッドxgboostのビルドに成功
マルチスレッドバージョンが必要な場合
doc /build.mdの追加の手順を参照してください

それでも同じエラーが発生します
dlopen(/Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so、6):ライブラリがロードされていません:@ rpath /./ libgomp.1.dylib
参照元:/Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so
理由:画像が見つかりません

わかりました。上記のいくつかのヘルプとbuild.mdの組み合わせが、xgboostを機能させるのに役立ったと思います。 皆さん、ありがとうございました !

@lalmanisha必要なのはpythonパッケージだけなので、 make xgboostだけで、 arを必要とする並列バージョンやyarnバージョンなどの他の不要なパッケージを削除できます。 makeが成功するはずです。 そして、あなたがそれを理解したことをうれしく思います。

Xgboostをgit cloneでMACにインストールしてみてください。 この答えまで@LiyanJinからのすべての指示に従い、マルチスレッドを使用するために自作経由でclang-ompをダウンロードしました。

  • config.mk:
export CC = clang-omp
export CXX = clang-omp++
export MPICXX = mpicxx
  • エラー :
clang-omp++ -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude -fopenmp  -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/learner.o src/learner.cc >build/learner.d
In file included from src/learner.cc:7:
In file included from include/xgboost/logging.h:11:
In file included from dmlc-core/include/dmlc/logging.h:10:
/usr/local/Cellar/clang-omp/2015-04-01/libexec/bin/../include/c++/v1/cstdio:100:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
         ^
1 error generated.
make: *** [build/learner.o] Error 1

pip installはうまく機能しますが、Pythonパッケージに最新の機能が必要です。

いくつかのヒント ?


編集:解決策を見つけます。 xcode-select --installmakeだけです。 それが他の人を助けることを願っています。

正しい@armgilles :デフォルトでは、macはヘッダー付きのコンパイラをインストールしていませんが、 clang-ompにはローカルにインストールされたXcodeが必要です。新しいシステムにアップグレードした後、すべてxcode-select --installでインストールすると、問題を解決できます。 。

私はそれを最初から構築しなければなりませんでした:

git clone --recursive https://github.com/dmlc/xgboost.git  
cd xgboost  
./build.sh
pip install -e python-package  

hnykdaの提案はUbuntu16.0.4で私のために働いた

@phunterlau
同じエラーが発生しました。
ar crv lib / libxgboost.a
ar:アーカイブメンバーが指定されていません
使用法:ar -d [-TLsv]アーカイブファイル..。
ar -m [-TLsv]アーカイブファイル..。
ar -m [-abiTLsv]位置アーカイブファイル..。
ar -p [-TLsv]アーカイブ[ファイル...]
ar -q [-cTLsv]アーカイブファイル..。
ar -r [-cuTLsv]アーカイブファイル..。
ar -r [-abciuTLsv]位置アーカイブファイル..。
ar -t [-TLsv]アーカイブ[ファイル...]
ar -x [-ouTLsv]アーカイブ[ファイル...]
make: * [lib /libxgboost.a]エラー1

arをインストールしました。 他のコマンドを使用して置き換えることができる場合、「arcrv」は何をするのか疑問に思っています。
「@liyanjinコア部分に「 makexgboost 」を実行できます。arを使用するには、Mac用にarをインストールする必要があるかもしれません」とおっしゃっていましたが、「コア部分に「makexgboost」を実行する」とはわかりません。手段。 あなたのアドバイスを期待してください

次の方法で、パッケージをMAC(macOS 10.12.3)に正常にインストールしました。

brew install --with-clang llvm
brew install cmake
brew install gcc --without-multilib

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost; cp make/config.mk ./config.mk; make -j4

cd python-package/ ; python setup.py install

@hnykda多くの場合、実用的なソリューションは一見単純なものです。 ありがとう。

私がうまくいった解決策は、
/home/username/anaconda3/lib/python3.5/site-packages/xgboost
./build-python.shを実行します

xgboostをインストールするときに多くの問題があるようです。 Macにインストールしようとしましたが、失敗しました。 osmeoneは最終的な解決策を教えてもらえますか?

私のために働いたのは、Linuxに以下を追加することでした...クレジット(上記の全員)

git clone --recursive https://github.com/dmlc/xgboost.git  
cd xgboost  
./build.sh
pip install -e python-package 
cd python-package
python setup.py install

私にとっては、MacOSSierraで次のように作業しました。
brew install gcc --without-multilib

このコマンドの実行:

export CC=gcc-7
export CXX=g++-7

@philipshurpikトンありがとう!

@philipshurpikそれは私にとってかなりうまくいきました、ありがとう!

このページは役に立ちましたか?
0 / 5 - 0 評価