web-dev-qa-db-ja.com

XGBoostLibraryNotFound:候補パスでXGBoostライブラリが見つかりません。コンパイラをインストールし、ルートパスでbuild.shを実行しましたか?

XGBoostのpython-packageディレクトリを移動しているときに、この問題に直面しています。

Traceback (most recent call last): File "setup.py", line 19, in LIB_PATH = libpath'find_lib_path' File "xgboost/libpath.py", line 46, in find_lib_path 'List of candidates:\n' + ('\n'.join(dll_path))) builtin.XGBoostLibraryNotFound: Cannot find XGBoost Library in the candidate path, did you install compilers and run build.sh in root path?

誰もそれを修正する方法を私に説明できますか?前もって感謝します。

15
Ann

Xgboostバイナリをインストールせずにxgboost Pythonパッケージをインストールしようとすると、そのメッセージが表示されます。ソースからxgboost Pythonパッケージをインストールする適切な方法は、 (gccなどのコンパイラがインストールされていると仮定):

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

私はそれを仮想環境内で行うことを好みます。オプション-recursiveは、xgboostのビルドに必要なdmlc-coreなどの異なるリポジトリからフォルダーを複製するため、レポジトリのクローンを作成する際に不可欠です。

16
Gustavo

他の答えは私にとってはうまくいかなかったので、Condaコマンドを使用してxgboostを ここにリストされている としてインストールしました。

ただ走れ conda install -c conda-forge xgboost

4
Patrick Stetz

最初の回答の提案は私にとってはうまくいかず、元の質問と同じエラーが残っていました。

完全なエラーメッセージが次のようなものであると正しく仮定している場合:

C:\Users\Matt\xgboost\python-package>python setup.py install
Traceback (most recent call last):
  File "setup.py", line 19, in <module>
    LIB_PATH = [os.path.relpath(libfile, CURRENT_DIR) for libfile in libpath['find_lib_path']()]
  File "xgboost/libpath.py", line 49, in find_lib_path
    'List of candidates:\n' + ('\n'.join(dll_path)))
XGBoostLibraryNotFound: Cannot find XGBoost Library in the candidate path, did you install compilers and run build.sh in root path?
List of candidates:
C:\Users\Matt\xgboost\python-package\xgboost\xgboost.dll
C:\Users\Matt\xgboost\python-package\xgboost\../../lib/xgboost.dll
C:\Users\Matt\xgboost\python-package\xgboost\./lib/xgboost.dll
C:\Users\Matt\AppData\Local\Programs\Python\Python35\xgboost\xgboost.dll
C:\Users\Matt\xgboost\python-package\xgboost\../../windows/x64/Release/xgboost.dll
C:\Users\Matt\xgboost\python-package\xgboost\./windows/x64/Release/xgboost.dll

それから解決策は

1)setup.pyが探しているライブラリを取得/検索/ダウンロードします。 xgboostフォルダーで.dllファイルを検索します。 xgboost.dllのようなものが見つかるかどうかを確認してください。libxgboost.dllと呼ばれる場合があります。可能であれば、ステップ2に進みます。見つからない場合 ここからダウンロード

2).dllファイルをxgboost/python-package/xgboostフォルダーにコピーします。その.dllがxgboost.dllと呼ばれない場合(つまり、libxgboost.dllと呼ばれる場合)、名前をxgboost.dllに変更します

3)Gu​​stavoの回答に記載されているコマンドを実行します。これらはGit Bashから実行されることに注意してください。

さらにスープからナッツへのチュートリアルが必要な場合は、 これが私が見つけた最高のものでした。

4
user2723494

Joe Nyland のおかげで here でこの問題に対する良い答えが見つかりました。
彼が言ったように(そして私のためにも働いた)、次のコマンドを実行する必要があります:

 $ brew install gcc@5
 $ pip install xgboost
2
Ehsan Mehralian

私の場合(Ubuntu 16.04、CUDA 9.0の場合)Pythonライブラリのビルドは、Rライブラリパッケージをcmakeオプションリストに追加することで明らかに壊れました。

1)python libインストールは正常に動作します:

cmake .. -DUSE_CUDA=ON -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-${CUDA_VER} 
cd /tmp/xgboost/python-package && python3 setup.py install

2) '-DR_LIB = ON'スイッチをcmakeに追加すると、その後のpythonライブラリインストール試行:

cmake .. -DUSE_CUDA=ON -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-${CUDA_VER} -DR_LIB=ON 
cd /tmp/xgboost/python-package && python3 setup.py install

> "XGBoostLibraryNotFound: Cannot find XGBoost Library in the candidate path, did you install compilers and run build.sh in root
> path?"
0
mirekphd