web-dev-qa-db-fra.com

XGBoostLibraryNotFound: Impossible de trouver la bibliothèque XGBoost dans le chemin candidat, avez-vous installé des compilateurs et exécuté build.sh dans le chemin racine?

Je suis confronté à ce problème lors du déplacement du répertoire python-package de XGBoost.

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?

Quelqu'un pourrait-il m'expliquer comment y remédier? Merci d'avance.

15
Ann

Vous obtenez ce message lorsque vous essayez d'installer le paquet xgboost Python sans les binaires xgboost présents. La bonne façon d'installer le paquet xgboost Python à partir de la source est la suivante) (en supposant que vous avez un compilateur tel que gcc installé):

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

Je préfère le faire dans un environnement virtuel. Notez que l'option - - récursive lors du clonage du dépôt est essentielle car elle clonera également les dossiers de différents référentiels tels que dmlc-core qui sont nécessaires pour construire xgboost.

16
Gustavo

Les autres réponses n'ont pas fonctionné pour moi, j'ai donc installé xgboost via les commandes Conda comme répertorié ici .

Exécutez simplement conda install -c conda-forge xgboost

4
Patrick Stetz

Les suggestions de la première réponse n'ont pas fonctionné pour moi et m'ont laissé la même erreur que la question d'origine.

Si je suppose correctement que votre message d'erreur complet ressemble à ceci:

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

alors la solution est de

1) Obtenez/trouvez/téléchargez la bibliothèque que setup.py recherche. Recherchez le dossier xgboost pour .dll des dossiers. Voyez si vous pouvez trouver quelque chose comme xgboost.dll on pourrait l'appeler libxgboost.dll. Si vous le pouvez, passez à l'étape 2. Si vous ne le trouvez pas téléchargez-le ici

2) Copiez le fichier .dll dans le dossier xgboost/python-package/xgboost. Si ce fichier .dll n'est pas appelé xgboost.dll (c'est-à-dire s'il s'appelle libxgboost.dll), changez le nom en xgboost.dll

3) Exécutez les commandes comme indiqué dans la réponse Gustavo. Notez que ceux-ci sont destinés à être exécutés à partir de Git Bash.

Si vous voulez un tutoriel plus soupe aux noix, c'était le meilleur que j'ai trouvé.

4
user2723494

grâce à Joe Nyland qui a trouvé la bonne réponse à ce problème dans ici .
Comme il l'a dit (et a également fonctionné pour moi), vous devez exécuter les commandes suivantes:

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

Dans mon cas (Ubuntu 16.04, avec CUDA 9.0) la construction de la bibliothèque Python a été évidemment cassée en ajoutant le package de la bibliothèque R à la liste des options cmake:

1) python lib fonctionne correctement:

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

2) l'ajout du commutateur '-DR_LIB = ON' à cmake interrompt la tentative d'installation de la bibliothèque 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