Xgboost: échec de l'installation de pip

Créé le 2 sept. 2015  ·  72Commentaires  ·  Source: dmlc/xgboost

root@0c6c17725a7b :/# pip install xgboost
Télécharger/déballer xgboost
Impossible de trouver une version satisfaisant à l'exigence xgboost (à partir des versions : 0.4a12, 0.4a13)
Nettoyer...
Aucune distribution correspondant à la version pour xgboost
Stockage du journal de débogage en cas d'échec dans /root/.pip/pip.log

Vous pouvez répéter dans Docker avec :
docker run -it --rm ubuntu: trusty

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

voir ça aussi :

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

Commentaire le plus utile

J'ai dû le construire à partir de zéro:

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

Tous les 72 commentaires

Ne semble pas fonctionner pour moi

ubuntu@ip-172-31-11-169 :~$ sudo apt-get mise à jour
... yadda yadda
ubuntu@ip-172-31-11-169 :~$ sudo apt-get install python-pip
Lecture des listes de paquets... Terminé
Construire l'arborescence des dépendances
Lecture des informations d'état... Terminé
python-pip est déjà la version la plus récente.
0 mis à jour, 0 nouvellement installé, 0 à supprimer et 74 non mis à jour.
ubuntu@ip-172-31-11-169 :~$ sudo pip install xgboost
Télécharger/déballer xgboost
Impossible de trouver une version satisfaisant à l'exigence xgboost (à partir des versions : 0.4a12, 0.4a13)
Nettoyer...
Aucune distribution correspondant à la version pour xgboost
Stockage du journal de débogage en cas d'échec dans /home/ubuntu/.pip/pip.log
ubuntu@ip-172-31-11-169 :~$

La suggestion stackoverflow de --pre a produit ceci :

ubuntu@ip-172-31-11-169 :~$ sudo pip install --pre xgboost
Télécharger/déballer xgboost
Téléchargement de xgboost-0.4a13.tar.gz (690kB) : 690kB téléchargés
Exécution de setup.py (chemin :/tmp/pip_build_root/xgboost/setup.py) egg_info pour le package xgboost
xgboost/build-python.sh : 13 : xgboost/build-python.sh : pushd : introuvable
make : * Aucune règle pour rendre la cible python'. Stop. ----------------------------- Building multi-thread xgboost failed Start to build single-thread xgboost make: *** No rule to make target propre'.
Arrêter.Créer avec succès xgboost à un seul threadSi vous voulez une version multithreadVoir les instructions supplémentaires dans doc/build.mdxgboost/build-python.sh : 26 : xgboost/build-python.sh : popd : introuvable(Aucun, Aucun)Traceback (dernier appel le plus récent) :Fichier "", ligne 17, dans


init .py", ligne 8, dans








self._handle = _dlopen(self._name, mode)
Erreur OS : /tmp/pip_build_root/xgboost/xgboost/./wrapper/libxgboostwrapper.so : en-tête ELF non valide
Sortie complète de la commande python setup.py egg_info :
xgboost/build-python.sh : 13 : xgboost/build-python.sh : pushd : introuvable

make: *** Aucune règle pour faire de la cible `python'. Arrêter.


La construction de xgboost multi-thread a échoué

Commencer à créer xgboost à un seul thread

make : *** Aucune règle pour rendre la cible "propre". Arrêter.

make: *** Aucune règle pour faire de la cible `python'. Arrêter.

Créer avec succès xgboost à un seul thread

Si vous voulez une version multithread

Voir les instructions supplémentaires dans doc/build.md

xgboost/build-python.sh : 26 : xgboost/build-python.sh : popd : introuvable

(Aucun, Aucun)

Traceback (dernier appel le plus récent) :

Fichier "", ligne 17, dans

Fichier "/tmp/pip_build_root/xgboost/setup.py", ligne 20, dans

import xgboost

Fichier "./xgboost/ init .py", ligne 8, dans

from .core import DMatrix, Booster

Fichier "./xgboost/core.py", ligne 78, dans

_LIB = _load_lib()

Fichier "./xgboost/core.py", ligne 72, dans _load_lib

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

Fichier "/usr/lib/python2.7/ctypes/ init .py", ligne 443, dans LoadLibrary

return self._dlltype(name)

Fichier "/usr/lib/python2.7/ctypes/ init .py", ligne 365, dans init

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

Erreur OS : /tmp/pip_build_root/xgboost/xgboost/./wrapper/libxgboostwrapper.so : en-tête ELF non valide


Nettoyer...
La commande python setup.py egg_info a échoué avec le code d'erreur 1 dans /tmp/pip_build_root/xgboost
Stockage du journal de débogage en cas d'échec dans /home/ubuntu/.pip/pip.log
ubuntu@ip-172-31-11-169 :~$

@cliveseldon @grfiv la version de l'installation de pip a quelques confusions, car la version officielle 0.4 existe depuis longtemps, et l'installation de pip contient une mise à jour récente du code source, j'ai donc nommé la version avec 0.4a12 0.4a13 quelque chose. Il sera corrigé ultérieurement à partir de la prochaine version officielle.

Une bonne solution pour mettre à jour l'installation de pip peut être de supprimer le répertoire xgboost et le répertoire xgboost-0.4a13.dist-info du répertoire du package du site, par exemple /User/phunterlau/python2.7/site-packages/ (l'emplacement d'installation peut être trouvé à partir de print xgboost.__file__ ), et refaites 'pip install xgboost' . Merci.

Bonjour,
J'ai le même problème sur ma box ubuntu :

Courir :

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

Échoue comme suit :

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

J'ai également essayé sans --pre , cela échoue de manière identique.

Un indice ?
Merci,
F.

J'ai utilisé pip install xgboost pour installer xgboost-0.4a14 sur un mac OSX. Lorsque j'ai essayé de le charger, j'ai eu cette erreur.

OSError Traceback (appel le plus récent en dernier)
dans()
----> 1 importer xgboost en tant que xgb

/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/ init .py dans()
9 système d'importation
dix
---> 11 depuis .core import DMatrix, Booster
12 de .training import train, cv
13 de .sklearn importer XGBModel, XGBClassifier, XGBRegressor

/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/core.py dans()
90
91 # charger la bibliothèque XGBoost globalement
---> 92 _LIB = _load_lib()
93
94 def _check_call(ret):

/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/core.py dans _load_lib()
84 si len(lib_path) == 0 :
85 retour Aucun
---> 86 lib = ctypes.cdll.LoadLibrary(lib_path[0])
87 lib.XGBGetLastError.restype = ctypes.c_char_p
88 bibliothèque de retour

/Users/azaitzeff/anaconda/lib/python2.7/ctypes/ init .pyc in LoadLibrary(self, name)
441
442 def LoadLibrary(soi, nom):
--> 443 retour self._dlltype(nom)
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
364 si le handle est Aucun :
--> 365 self._handle = _dlopen(self._name, mode)
366 d'autre :
367 self._handle = poignée

Erreur OS : dlopen(/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/./wrapper/libxgboostwrapper.so, 6) : bibliothèque non chargée : /usr/local/lib/gcc/4.9/libgomp .1.dylib
Référencé depuis : /Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/./wrapper/libxgboostwrapper.so
Raison : image introuvable

De l'aide. Merci
AZ

@AZaitzeff @Fkawala Merci. Pouvez-vous confirmer si vous avez installé gcc sur votre ubuntu ou votre Mac ? Avec vos informations, je vois le problème de la bibliothèque précompilée : s'il n'y a pas de gcc installé sur le système, le script de construction dans pip échouerait. Cependant, dans le package d'installation pip, j'ai inclus une bibliothèque précompilée libxgboostwrapper.so utilisant gcc 4.9 de brew sous Mac, donc si le script de construction échoue, xgboost recherchera cette bibliothèque précompilée. Linux ne reconnaît pas cette bibliothèque Mac, elle a donc une erreur de code ELF ; Pour mac sans OpenMP, cela déclenchera l'erreur de lien. Maintenant, je vois que cela cause des confusions et que ce n'est peut-être pas une bonne idée. Je mettrai à jour l'installation de pip et afficherai le message s'il n'y a pas de gcc. PS Nous aurons des bibliothèques liées précompilées et statiques dans la prochaine version officielle, ce qui est une meilleure solution pour envoyer du code précompilé.

@phunterlau Merci. Je n'ai pas OpenMP sur mon Mac. C'est donc ce qui provoquait l'erreur.

@phunterlau ok, je vais configurer un environnement de compilation approprié et tester à nouveau l'installation de pip.

Merci pour la réponse rapide.

J'ai donc lancé brew install clang-omp et il s'est installé. Suppression du répertoire xgboost et de xgboost-0.4a13.dist-info et réexécution de pip install xgboost. J'ai fermé les fenêtres de mon terminal et je les ai rouvertes. Mais je reçois toujours la même erreur lorsque j'essaie d'importer xgboost. Des pensées?

@AZaitzeff en fait clang-omp n'est pas recommandé, car clang de Xcode ne le prend pas en charge, donc clang-omp peut donner un résultat étrange. Le package d'installation mac pip a été créé et testé sur gcc 4.9 de brew avec OpenMP. Voulez-vous essayer avec brew install gcc49 ? Maintenant, nous avons aussi gcc 5 de brew, mais je n'ai pas eu la chance de le tester complètement. Je le ferai dans le prochain téléchargement de pip.

Merci cela a très bien fonctionné.

@phunterlau la construction (utilisant ./xgboost/build-python.sh ) fonctionne comme un charme. Cependant, l'installation de pip aboutit à la bibliothèque pré-compilée. J'ai modifié setup.py pour montrer pourquoi la compilation n'est pas tentée. Avec PIP 7.1.2 (python 2.7), pour exécuter :

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

donne :

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

Selon http://stackoverflow.com/questions/9959279/detect-pip-in-setup-py [1] le test 'pip' in __file__ ne fonctionne pas avec Py 2.7 2014-10-27 ni avec une installation personnalisée ( comme je l'ai utilisé dans mon commentaire précédent). Comme proposé dans [1] 'pip' in os.environ.get('_') est un moyen plus standard de tester si pip exécute le setup.py .

@Fkawala Merci. 'pip' in __file__ était un vieux truc d'il y a longtemps, c'est bien de connaître le nouveau. Je mettrai à jour l'installation de pip et plus tard j'enverrai un PR (avec quelques autres correctifs).

@phunterlau J'ai un problème similaire, je n'ai pas compris comment corriger cette erreur ELF. Je travaille sur Ubuntu et je ne peux pas importer le package xgboost après l'avoir installé avec pip. Vous avez écrit sur gcc, j'ai installé gcc-4.9, mais ça ne marche toujours pas, qu'est-ce qui me manque ?

Voici mon erreur :

importer xgboost

OSError Traceback (appel le plus récent en dernier)
dans()
----> 1 xgboost d'importation
/home/antklen/anaconda/lib/python2.7/site-packages/xgboost/ init .py in()
9 système d'importation
dix
---> 11 depuis .core import DMatrix, Booster
12 de .training import train, cv
13 de .sklearn importer XGBModel, XGBClassifier, XGBRegressor
/home/antklen/anaconda/lib/python2.7/site-packages/xgboost/core.py dans()
90
91 # charger la bibliothèque XGBoost globalement
---> 92 _LIB = _load_lib()
93
94 def _check_call(ret):
/home/antklen/anaconda/lib/python2.7/site-packages/xgboost/core.py dans _load_lib()
84 si len(lib_path) == 0 :
85 retour Aucun
---> 86 lib = ctypes.cdll.LoadLibrary(lib_path[0])
87 lib.XGBGetLastError.restype = ctypes.c_char_p
88 bibliothèque de retour
/home/antklen/anaconda/lib/python2.7/ctypes/__init__.pyc dans LoadLibrary(self, name)
441
442 def LoadLibrary(soi, nom):
--> 443 retour self._dlltype(nom)
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
364 si le handle est Aucun :
--> 365 self._handle = _dlopen(self._name, mode)
366 d'autre :
367 self._handle = poignée
OSError : /home/antklen/anaconda/lib/python2.7/site-packages/xgboost/./wrapper/libxgboostwrapper.so : en-tête ELF invalide

@antklen dans Windows, vous devez d'abord installer setuptools. Je ne sais pas si c'est le cas pour Ubuntu, mais cela vaut peut-être la peine d'essayer?

@antklen c'est parce que l'installation actuelle de pip est un script de compilateur à la volée et qu'il est livré avec une version Mac du fichier .so, au cas où certains utilisateurs mac n'auraient pas installé g++ pour la compilation. Cela ne s'est pas avéré être une bonne idée et a causé quelques confusions pour les utilisateurs de Linux.

La solution est la suivante : veuillez installer gcc et g++ apt-get install g++ , afin qu'il récupère le script de compilation.

Et, si votre pip est plus récent que 0.7.1.2, il peut y avoir un autre problème pour vérifier si pip est en cours d'exécution. Je vais le corriger et l'expédier dans la prochaine version. Si vous avez g++ mais toujours la même erreur, veuillez installer manuellement à partir de setup.py en suivant le document d'installation.

@smargsongithub @phunterlau Merci pour les réponses !
apt-get install g++ n'a pas non plus fonctionné pour moi, mais j'ai réussi avec l'installation manuelle comme décrit ici https://www.kaggle.com/c/springleaf-marketing-response/forums/t/16320/cloud-vs- avantages et inconvénients de la machine locale
J'ai eu quelques problèmes parce que j'utilise Anaconda, donc ma recette finale est

sudo apt-get install make
sudo apt-obtenir la mise à jour
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
cd python-package
sudo /home/nom d'utilisateur/anaconda/bin/python setup.py install

@antklen oh, vous avez besoin de sudo lors de l'installation de g++ :-)

@Fkawala J'essaie 'pip' in os.environ.get('_') pour le pip mis à jour, mais os.environ.get('_') renvoie toujours None et cette instruction if donne une erreur. Avons-nous une autre méthode pour détecter si pip dans la ligne de commande ? Sinon, je créerais un setup.py séparé juste pour pip et déclencherais le compilateur là-bas. Merci.

@phunterlau Je reçois le suivi suivant de pip install xgboost, des pensées? (sous Mac)

Traceback (dernier appel le plus récent) :
Fichier "", ligne 20, dans
Fichier "/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/setup.py", ligne 38, dans
LIB_PATH = libpath 'find_lib_path'
Fichier "/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/xgboost/libpath.py", ligne 47, dans find_lib_path
'Liste des c andidates:n ' + ('n'.join(dll_path)))
builtin .XGBoostLibraryNotFound : Impossible de trouver la bibliothèque XGBoost dans le chemin candidat, avez-vous exécuté build.sh dans le chemin racine ?
Liste des candidats :
/privé/var/dossiers/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/xgboost/libxgboostwrapper.so
/privé/var/dossiers/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/xgboost/../../wrapper/libxgboostwrapper.so
/privé/var/dossiers/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/xgboost/./wrapper/libxgboostwrapper.so
/privé/var/dossiers/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/xgboost/../../../xgboost/wrapper/libxgboostwrapper.so


La commande "python setup.py egg_info" a échoué avec le code d'erreur 1 dans /private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost

@ pcohen89 ce package python est livré avec du code C++ et se compile à la volée, vous aurez donc peut-être besoin d'un compilateur. Avez-vous installé votre compilateur, par exemple gcc-5 ou clang LLVM de Xcode ? Mac n'installe pas les outils de ligne de commande xcode par défaut et vous pouvez suivre cette instruction http://railsapps.github.io/xcode-command-line-tools.html ou, un autre meilleur choix consiste à installer homebrew http ://brew.sh/ et brew install g++-5 . La dernière option (g++-5) donne le support OpenMP multi-thread.

Après avoir installé les compilateurs, veuillez supprimer l'ancienne installation de xgboost et refaire pip install xgboost

@antklen @phunterlau J'ai essayé de suivre les étapes mentionnées par @antklen . Maintenant, je peux exécuter import xgboost sur le terminal. Cependant, sur anacondas ipython notebook, cela me donne l'erreur ci-dessous. Toute aide s'il vous plaît. J'utilise 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 cela signifie que xgboost n'a pas été compilé, avez-vous :

  1. supprimé l'ancienne installation de xgboost ?
  2. installé xcode (mac) ou gcc-5 (Mac utilise brew, linux utilise apt-get ou yum) ?

pip install xgboost -v peut en dire plus sur le message d'erreur.

@phunterlau moi et @Jeechu nous avons supprimé l'ancienne installation xgboost et installé gcc,g++. XGBoost fonctionne bien via le terminal, mais en utilisant le bloc-notes anaconda ipython, il donne cette erreur.

Y a-t-il un problème avec le chemin d'installation ?

@rajdeltarobo @Jeechu quelle est la version python de votre cahier ipython ? et, quelles sont vos variables $PYTHONPATH dans le .bashrc (ou d'autres fichiers env de vos shells) ?

On dirait que votre xgboost recherche /home/simpl/anaconda/lib/python2.7/site-packages/xgboost-0.4-py2.7.egg/ qui n'est pas un chemin d'installation de pip (l'installation de pip a son numéro de version supplémentaire, par exemple xgboost-0.4a24), donc le notebook ipython essaie de rechercher votre xgboost à partir de python setup.py install de github, donc le problème peut provenir de $PYTHONPATH

@phunterlau $PYTHONPATH n'est pas défini, il renvoie un blanc. Cependant, ci-dessous est la valeur de path

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

Le chemin python est

➜  ~  which python  
/usr/bin/python

La version python du cahier ipython est 2.7

Que diriez-vous d'ajouter quelque chose comme ceci à votre PYTHONPATH :
/Users/simpl/anaconda/lib/python2.7/site-packages/

si vous voulez utiliser le python d'anaconda, restez avec lui pour tout, sinon utilisez virtualenv au lieu d'avoir plusieurs installations de python. C'est très déroutant s'il y a plusieurs installations Python sur la même machine.

@phunterlau Ne fonctionne pas. J'utilise Ubuntu donc ajouté

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

Bien que je puisse voir cela à la fin du fichier Bashrc

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

@phunterlau J'avais installé gcc et je pensais que c'était suffisant. J'ai Xcode et tout a fonctionné. Merci à tous pour votre soutien sur Xgboost, c'est génial et vous êtes tous super utiles.

@ pcohen89 sympa de savoir que xcode a aidé. Vous constaterez peut-être que xcode clang ne prend en charge que xgboost à un seul thread, vous pouvez donc essayer brew install g++-5 pour la prise en charge multithread. de toute façon, une copie de travail est une bonne copie.

@rajdeltarobo PATH est différent de PYTHONPATH, où PYTHONPATH permet à python de trouver l'installation du package personnalisé. Veuillez l'ajouter et sourcer votre bashrc.

copiez /wrapper/libxgboostwrapper.so vers /home/username/anaconda3/lib/python3.4/site-packages/xgboost-0.4-py3.4.egg/xgboost/ a résolu le problème pour moi (j'utilise Ubuntu 14.04)

mon problème était :

XGBoostLibraryNotFound : Impossible de trouver la bibliothèque XGBoost dans le chemin candidat, avez-vous exécuté build.sh dans le chemin racine ?
Liste des candidats :
/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 l'erreur de votre message provient d'un changement récent pour la résolution des conflits pour l'installation de pip, mais il s'est avéré que ce changement n'était pas une bonne idée, nous l'avons donc annulé (PR # 572). À l'avenir, cette copie n'est plus nécessaire et nous aurons une autre configuration d'installation séparée uniquement pour l'installation de pip avec compilation à la volée. Désolé pour le dérangement de ces derniers jours.

J'essaie d'installer xgboost via pip mais j'échoue avec la même erreur que @davutpolat . Je voulais utiliser sa solution, mais je ne sais pas où trouver /wrapper/libxgboostwrapper.so.

@claygirl avez-vous gcc ou clang dans votre système ? veuillez également indiquer votre système env et le message d'erreur

Solution. J'ai eu la même erreur OSError : /usr/local/lib/libxgboostwrapper.so : impossible d'ouvrir le fichier objet partagé : aucun fichier ou répertoire de ce type. j'ai copié le
site-packages/xgboost-0.4-py2.7.egg/xgboost/./wrapper/libxgboostwrapper.so à /usr/local/lib/ et semble fonctionner.
Mais pas content car j'ai à la fois 2.7 et 3.4. ..Une nouvelle résolution ?

@dsivakumar site-packages/xgboost-0.4-py2.7.egg/xgboost/./wrapper est l'emplacement attendu pour libxgboostwrapper.so si installé avec pip, et xgboost/lib_path.py a inclus ce chemin donc import xgboost peut facilement le trouver. Si vous voulez à la fois 2.7 et 3.4, veuillez utiliser virtualenv et installer avec pip séparément, car pip dépend des versions de python.

@phunterlau Merci, cela semble la seule solution.

J'ai essayé plusieurs fois mais j'ai perdu tout espoir d'installer xgboost sur mon PC Windows OS,
mais maintenant peut-être que vous aiderez quoi faire
c'est l'erreur
C:UsersSander> pip installer xgboost
Collecter xgboost
Téléchargement de xgboost-0.4a30.tar.gz (753kB)
100% |################################| 753 Ko 397 Ko/s
Aucun fichier/répertoire dans
c:userssanderappdatalocaltemppip-build-gqsijfxgbo
ostpip-egg-info (à partir de PKG-INFO)
J'utilise l'installation d'anaconda python
Je me souviens dans l'un des concours kaggle, quelqu'un a échoué à installer xgboos et
choisit une autre technique et il obtient la 2 place...

Le jeudi 7 janvier 2016 à 03h31, dsivakumar [email protected] a écrit :

@phunterlau https://github.com/phunterlau Merci, cela semble le seul
Solution.


Répondez directement à cet e-mail ou consultez-le sur GitHub
https://github.com/dmlc/xgboost/issues/463#issuecomment -169595600.

@ Sandy4321 Windows ne prend pas en charge l'installation de pip car il n'a pas été défini pour le compilateur de ligne de commande VS, comme mentionné dans le guide d'installation et le dépannage. Veuillez utiliser le fichier de solution VS dans windows/ pour compiler et installer. J'espère que cela peut vous aider à obtenir la 2ème place aussi :-)

J'essaie d'installer Xgboost sur Mac 10.10.5 sans Xcode. J'ai d'abord installé GCC 5.3 avec le support openmp par brew install gcc --without-multilib. Deuxièmement, je construis xgboost par

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
exporter CC=/usr/local/bin/gcc-5
exporter CXX=/usr/local/bin/g++-5
cp make/config.mk ./config.mk
faire -j4

Ensuite, une erreur apparaît, comme ci-dessous,
make: ** [lib/libxgboost.a] Erreur 1make: * * En attente de travaux inachevés....
clangclang : : avertissement : avertissement : argument non utilisé lors de la compilation : '-pthread'
argument inutilisé lors de la compilation : '-pthread'
ld : bibliothèque introuvable pour -lgomp
ld : bibliothèque introuvable pour -lgomp
clang : erreur : la commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'invocation)
clang : erreur : la commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'invocation)
make: ** [lib/libxgboost.so] Erreur 1make: * * [xgboost] Erreur 1

J'ai ignoré l'erreur et j'ai continué. J'ai tapé les codes comme ci-dessous
sudo ./build.sh

Puis il a dit
clang : avertissement : argument non utilisé lors de la compilation : '-pthread'
Créer avec succès xgboost à un seul thread

Pourriez-vous me dire pourquoi il s'agit toujours d'un Xgboost à un seul thread bien que j'aie installé GCC 5 avec OpenMP.
Que dois-je faire pour changer le Xgboost que j'avais installé en une version multi-thread ?

le makefile récent fonctionne mieux avec clang-omp.

Bonjour, merci beaucoup pour votre réponse.
Vous voulez dire que maintenant xgboost n'a pas besoin de gcc, et que clang en tant que compilateur peut également prendre en charge le multithread, n'est-ce pas ? Étant donné que MAC 10.9 et supérieur est livré avec clang, dois-je toujours télécharger clang-omp depuis homebrew
Je suis novice. J'avais l'habitude d'installer xgboost selon la méthode sur ce site. Existe-t-il maintenant un guide d'installation mis à jour ? Pouvez-vous me dire comment le configurer ?
De plus, après être passé à clang-omp, dois-je d'abord supprimer xgboost déjà installé, puis réinstaller xgboost ?
Merci!

Au 2016-04-03 01:34:37, "Hongliang Liu" [email protected] a écrit :

le makefile récent fonctionne mieux avec clang-omp.


Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail ou consultez-le sur GitHub

Merci pour votre réponse rapide. Selon votre suggestion, j'ai téléchargé clang-omp via homebrew.
Alors, quelle est la prochaine étape pour moi ? Dois-je supprimer le xgboost actuel et le réinstaller à la place.

veuillez changer le compilateur par défaut dans config.mk en clang-omp. Veuillez suivre les instructions de construction de la partie Mac OS X.

Merci pour votre instruction. Et j'ai changé le compilateur par défaut dans config.mk en clang-omp comme celui-ci
` exporter CC = /usr/local/bin/clang-omp

exporter CXX = /usr/local/bin/clang-omp++

ADD_CFLAGS = -fopenmp`

Puis je compile par
make -j8

Cependant, l'erreur réapparaît :
make: ** [lib/libxgboost.a] Erreur 1make: * * En attente de travaux inachevés....
clang-3.5clang-3.5 : : errorerror : : aucun fichier ou répertoire de ce type : 'rabit/lib/librabit.a'aucun fichier ou répertoire de ce type : 'rabit/lib/librabit.a'

make: ** [lib/libxgboost.so] Erreur 1make: * * [xgboost] Erreur 1

Y a-t-il quelque chose qui ne va pas pour moi?

Et je cours
sudo ./build.sh
l'erreur apparaît comme ci-dessous

include/dmlc/omp.h:13:9: avertissement : Avertissement : OpenMP n'est pas disponible, le projet
être compilé en code mono-thread. Utilisez le compilateur compatible OpenMP pour obtenir
avantage du multi-threading. [-W#pragma-messages]

pragma message("Attention : OpenMP n'est pas disponible, "

veuillez essayer de réinstaller clang-omp par brew remove clang-omp; brew install clang-omp ; changez seulement ces deux lignes (pas ADD_FLAG ) dans config.mk , et assurez-vous de le copier dans le même répertoire que Makefile .

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

et exécutez make

Utilisation de Windows 7. Anaconda de yhat Rodeo.

Essayer d'installer xgboost et obtenir l'erreur suivante. S'il vous plaît aider.

` ! pip installer xgboost

Collecter xgboost
Utilisation de xgboost-0.4a30.tar.gz en cache
Aucun fichier/répertoire dans C:UsersUSERAppDataLocalTemppip-build-dkmqc8n1xgboostpip-egg-info (à partir de PKG-INFO)`

@phunterlau Merci pour votre suggestion. J'ai essayé vos instructions et j'obtiens l'erreur suivante. S'il vous plaît donner une suggestion.
J'ai réinstallé clang-imp et changé deux lignes (pas ADD_FLAG) dans config.mk dans le même répertoire que Makefile est

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

Ensuite, j'exécute sudo make -j4 et j'obtiens l'erreur suivante.

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'

Ensuite, je lance sudo ./build.sh et j'obtiens l'erreur suivante

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

Salut tout le monde,
Pour installer Xgboost sur Windows à l'aide de Python, suivez les instructions du fil de discussion suivant.

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

@boral yep, l'installation actuelle de pip ne prend pas en charge la plate-forme de fenêtre. content que tu aies compris

@liyanjin , vous pouvez simplement faire "make xgboost" pour la partie principale. pour avoir ar, vous devrez peut-être installer ar pour mac

Je suis confronté à un problème similaire. Mon erreur est assez

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

J'ai vérifié que j'ai installé gcc.
$ brasser installer gcc49
Attention : homebrew/versions/gcc49-4.9.3 déjà installé

Je suis sur mac os j'ai installé xgboost via anaconda

@lalmanisha Je crois que vous utilisez Mac. La meilleure pratique actuelle sur Mac consiste à utiliser clang-omp au lieu de gcc . Pouvez-vous essayer d'installer clang-omp partir de brew et de changer le CC et le CXX dans le config.mk en clang-omp ?

Merci pour votre réponse. Je reçois toujours le même message d'erreur. Voici la
`--------------------------------------------------------------- -------------------------
OSError Traceback (appel le plus récent en dernier)
dans()
14 # Tous les résultats que vous écrivez dans le répertoire courant sont enregistrés en tant que sortie.
15
---> 16 importer xgboost en tant que xgb
17 de sklearn.linear_model import LogisticRegression
18 pandas importés en tant que pd

/Users/mlal/anaconda/lib/python2.7/site-packages/xgboost.py dans()
80
81 # charger la bibliothèque XGBoost globalement
---> 82 xglib = charger_xglib()
83
84

/Users/mlal/anaconda/lib/python2.7/site-packages/xgboost.py dans load_xglib()
57 si len(dll_path) == 0 :
58 relance XGBoostLibraryNotFound('impossible de trouver les fichiers dans le chemin candidat ' + str(dll_path))
---> 59 lib = ctypes.cdll.LoadLibrary(lib_path[0])
60
61 # Fonctions DMatrice

/Users/mlal/anaconda/lib/python2.7/ctypes/ init .pyc dans LoadLibrary(self, name)
441
442 def LoadLibrary(soi, nom):
--> 443 retour self._dlltype(nom)
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
364 si le handle est Aucun :
--> 365 self._handle = _dlopen(self._name, mode)
366 d'autre :
367 self._handle = poignée

Erreur OS : dlopen(/Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so, 6) : bibliothèque non chargée : @rpath/./libgomp.1.dylib
Référencé depuis : /Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so
Raison : image introuvable
`
j'ai changé le fichier config.mk comme ci-dessous

choix du compilateur
exporter CC = clang-omp
exporter CXX = clang-omp
exporter MPICXX = mpicxx

faire sudo -j4
ar crv lib/libxgboost.a
ar : aucun membre d'archive spécifié
utilisation : ar -d [-TLsv] fichier d'archive ...
ar -m [-TLsv] fichier d'archive ...
ar -m [-abiTLsv] fichier d'archive de position ...
ar -p [-TLsv] archive [fichier ...]
ar -q [-cTLsv] fichier d'archive ...
ar -r [-cuTLsv] fichier d'archive ...
ar -r [-abciuTLsv] fichier d'archive de position ...
ar -t [-TLsv] archive [fichier ...]
ar -x [-ouTLsv] archive [fichier ...]
make: ** [lib/libxgboost.a] Erreur 1make: * * En attente de travaux inachevés....
clang : clang : erreur : erreur : option non prise en charge '-fopenmp'option non prise en charge '-fopenmp'

make: ** [lib/libxgboost.so] Erreur 1make: * * [xgboost] Erreur 1
Quand j'ai couru
sudo ./build.sh

maker.o build/tree/updater_sync.o dmlc-core/libdmlc.a rabit/lib/librabit_empty.a -pthread -lm
clang : avertissement : argument non utilisé lors de la compilation : '-pthread'
Créer avec succès xgboost à un seul thread
Si vous voulez une version multithread
Voir les instructions supplémentaires dans doc/build.md

J'obtiens toujours la même erreur
dlopen(/Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so, 6) : Bibliothèque non chargée : @rpath/./libgomp.1.dylib
Référencé depuis : /Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so
Raison : image introuvable

ok, je suppose que la combinaison de l'aide ci-dessus et de build.md m'a aidé à faire fonctionner xgboost. Merci à tous !

@lalmanisha puisque vous n'avez besoin que du package python, vous pouvez simplement make xgboost ce qui supprime d'autres packages inutiles comme la version parallèle et fil qui nécessite ar . Il devrait avoir réussi make . Et content que tu l'aies compris.

Essayez d'installer Xgboost avec git clone sur MAC. Je suis toutes les instructions de @LiyanJin jusqu'à cette réponse , j'ai téléchargé clang-omp via homebrew pour utiliser le multi-threading.

  • config.mk :
export CC = clang-omp
export CXX = clang-omp++
export MPICXX = mpicxx
  • Erreur :
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 fonctionne bien, mais j'aimerais avoir les dernières fonctionnalités du package python.

Quelques conseils ?


Edit : Trouvez la solution. Juste xcode-select --install et make . J'espère que cela aidera les autres.

@armgilles qui a raison: par défaut, mac n'a pas installé les compilateurs avec en-têtes alors que clang-omp a besoin du Xcode installé localement, l'installer par xcode-select --install tout après la mise à niveau vers un nouveau système peut résoudre le problème .

J'ai dû le construire à partir de zéro:

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

La suggestion hnykda a fonctionné pour moi sur Ubuntu 16.0.4

@phunterlau
J'ai eu la même erreur.
ar crv lib/libxgboost.a
ar : aucun membre d'archive spécifié
utilisation : ar -d [-TLsv] fichier d'archive ...
ar -m [-TLsv] fichier d'archive ...
ar -m [-abiTLsv] fichier d'archive de position ...
ar -p [-TLsv] archive [fichier ...]
ar -q [-cTLsv] fichier d'archive ...
ar -r [-cuTLsv] fichier d'archive ...
ar -r [-abciuTLsv] fichier d'archive de position ...
ar -t [-TLsv] archive [fichier ...]
ar -x [-ouTLsv] archive [fichier ...]
make: * [lib/libxgboost.a] Erreur 1

j'ai installé ar. Je me demande ce que fait le "ar crv", si je peux utiliser une autre commande pour le remplacer.
vous avez mentionné " @liyanjin , vous pouvez simplement faire 'make xgboost' pour la partie principale. pour avoir ar, vous devrez peut-être installer ar pour mac", je ne comprends pas ce que "faire 'make xgboost' pour la partie principale" moyens. j'espère pour vos conseils

J'ai installé le package sur mon MAC (macOS 10.12.3) avec succès en :

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 Souvent , la solution de travail est celle qui semble simple. Merci mec.

La solution que j'ai trouvée a fonctionné pour moi naviguait vers
/home/nom d'utilisateur/anaconda3/lib/python3.5/site-packages/xgboost
et en exécutant ./build-python.sh

Il semble qu'il y ait beaucoup de problèmes lors de l'installation de xgboost. J'ai essayé d'installer sur Mac et j'ai échoué aussi. Osmeone pourrait-il me dire quelle est la solution finale ?

ce qui a fonctionné pour moi a été d'ajouter ce qui suit sur linux ... crédit (tout le monde ci-dessus)

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

Pour moi, j'ai travaillé sur MacOS Sierra après :
brew install gcc --without-multilib

exécutant ces commandes :

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

@philipshurpik Merci beaucoup !

@philipshurpik Cela a très bien fonctionné pour moi, merci !

Cette page vous a été utile?
0 / 5 - 0 notes