web-dev-qa-db-fra.com

Comment installer le paquet xgboost en python (plate-forme Windows)?

http://xgboost.readthedocs.org/fr/latest/python/python_intro.html

Sur la page d'accueil de xgboost (lien ci-dessus), il est indiqué: Pour installer XGBoost, procédez comme suit:

  1. Vous devez exécuter make dans le répertoire racine du projet.

  2. Dans le répertoire python-package, exécutez

    installation de python.py

Cependant, lorsque je l'ai fait, l'erreur suivante s'est produite à l'étape 1: Vérifier la orthographe du nom, ou si un chemin a été inclus, vérifiez que le chemin est correct et réessayez.

alors je saute l'étape 1 et fais l'étape 2 directement, une autre erreur apparaît:

Traceback (most recent call last):
  File "setup.py", line 19, in <module>
    LIB_PATH = libpath['find_lib_path']()
  File "xgboost/libpath.py", line 44, in find_lib_path
    'List of candidates:\n' + ('\n'.join(dll_path)))
__builtin__.XGBoostLibraryNotFound: Cannot find XGBoost Libarary in the candicate path, did you install compilers and run build.sh in root path?

Est-ce que quelqu'un sait comment installer xgboost pour python sur la plate-forme Windows10? Merci de votre aide!

43
Robin1988

J'ai installé XGBoost avec succès dans Windows 8 64 bits, Python 2.7 avec Visual Studio 2013 (inutile de mingw64)

Mise à jour le 15/02/2017

Avec la nouvelle version de XGBoost, voici mes étapes

Étape 1. Installez cmake https://cmake.org/download/

Vérifier que cmake a été installé avec succès

$ cmake
Usage

cmake [options] <path-to-source>
cmake [options] <path-to-existing-build>
...

Étape 2. Cloner la source xgboost

$ git clone https://github.com/dmlc/xgboost xgboost_dir

Étape 3. Créer un projet Visual Studio

$ cd xgboost_dir
$ mkdir build
$ cd build
$ cmake .. -G"Visual Studio 12 2013 Win64"

Étape 4. Construire le projet Visual Studio 2013

  • Ouvrir le fichier xgboost_dir/build/ALL_BUILD.vcxproj avec Visual Studio 2013
  • Dans Visual Studio 2013, ouvrez BUILD > Configuration Manager...
    • choisissez Libérer dans la configuration de la solution active
    • choisissez x64 dans la plateforme de solution active
  • Cliquez sur BUILD> Build Solution (Ctrl + Maj + B).

Après la solution de génération, deux nouveaux fichiers libxgboost.dll et xgboost.exe sont créés dans le dossier xgboost_dir/lib

Étape 5. Construire un paquet python

  • Copier le fichier libxgboost.dll dans xgboost_dir/python-package
  • Changer le répertoire dans le dossier xgboost_dir/python-package
  • Exécuter la commande python setup.py install

Vérifiez que xgboost a été installé avec succès

$ python -c "import xgboost"

Ancienne réponse

Voici mes étapes:

  1. git clone https://github.com/dmlc/xgboost
  2. git checkout 9bc3d16
  3. Ouvrir un projet dans xgboost/windows avec Visual Studio 2013
  4. Dans Visual Studio 2013, ouvrez BUILD > Configuration Manager...,
    • choisissez Release dans Active solution configuration
    • choisissez x64 dans Active solution platform
  5. Reconstruire xgboost, xgboost_wrapper
  6. Copier tous les fichiers du dossier xgboost/windows/x64/Release dans xgboost/wrapper
  7. Allez à xgboost/python-package, exécutez la commande python setup.py install
  8. Vérifiez xgboost en exécutant la commande python -c "import xgboost"
20
Vu Anh

Si vous recherchez une solution plus simple qui ne nécessite pas de la compiler vous-même:

  1. téléchargez le fichier xgboost whl à partir de ici (veillez à bien correspondre à votre version de Python et à votre architecture système, par exemple, "xgboost-0.6-cp35-cp35m-win_AMD64.whl" pour python 3.5 sur une machine 64 bits)
  2. invite de commande ouverte
  3. cd dans votre dossier Téléchargements (ou à tout autre endroit où vous avez sauvegardé le fichier)
  4. pip install xgboost-0.6-cp35-cp35m-win_AMD64.whl (ou quel que soit le nom de votre fichier whl)

Si vous constatez que l'installation ne s'installera pas en raison d'une dépendance manquante, téléchargez et installez d'abord la dépendance, puis réessayez. 

S'il se plaint des autorisations d'accès, essayez d'ouvrir l'invite de commande en tant qu'administrateur, puis réessayez.

Cela vous donne xgboost et le wrapper scikit-learn, et vous évite d'avoir à vous charger de le compiler vous-même. :)

142
brettlyman

Notez qu'à partir de la version la plus récente, les instructions de Microsoft Visual Studio ne semblent plus s'appliquer car ce lien renvoie une erreur 404:

https://github.com/dmlc/xgboost/tree/master/windows

Vous pouvez en savoir plus sur le retrait de la version MSVC du commentaire de Tianqi Chen ici .

Alors voici ce que j'ai fait pour terminer une construction 64 bits sous Windows:

  1. Téléchargez et installez MinGW-64: http://sourceforge.net/projects/mingw-w64/
  2. Sur le premier écran de l’invite d’installation, assurez-vous de définir l’architecture sur x86_64 et les threads sur win32.
  3. J'ai installé C:\mingw64 (pour éviter les espaces dans le chemin du fichier), j'ai donc ajouté ceci à ma variable d'environnement PATH: C:\mingw64\mingw64\bin
  4. J'ai aussi remarqué que l'utilitaire make inclus dans bin\mingw64 s'appelle mingw32-make. Pour simplifier, je viens de renommer ceci en make.
  5. Ouvrez une invite de commande Windows et tapez gcc. Vous devriez voir quelque chose comme "erreur fatale: pas de fichier d'entrée"
  6. Type suivant make. Vous devriez voir quelque chose comme "Aucune cible spécifiée et aucun fichier Make trouvé"
  7. Tapez git. Si vous n'avez pas git, installez-le et ajoutez-le à votre PATH.

Ceux-ci devraient contenir tous les outils dont vous avez besoin pour construire le projet xgboost. Pour obtenir le code source, exécutez ces lignes:

  1. cd c: \
  2. git clone --recursive https://github.com/dmlc/xgboost
  3. cd xgboost
  4. sous-module git init
  5. mise à jour du sous-module git
  6. cp make/mingw64.mk config.mk
  7. make -j4

Notez que j'ai exécuté cette partie à partir d'un shell Cygwin. Si vous utilisez l'invite de commande Windows, vous devriez pouvoir modifier cp pour copier et obtenir le même résultat. Cependant, si la construction échoue sur vous pour quelque raison que ce soit, je vous recommande d'essayer à nouveau avec cygwin.

Si la construction se termine correctement, vous devriez avoir un fichier appelé xgboost.exe situé à la racine du projet. Pour installer le package Python, procédez comme suit: 

  1. cd python-package
  2. installation de python.py

Maintenant, vous devriez être prêt à partir. Ouvrez Python, et vous pouvez importer le package avec:

import xgboost as xgb

Pour tester l’installation, j’ai lancé le fichier basic_walkthrough.py inclus dans le dossier demo/guide-python du projet sans aucune erreur. 

29
Disco4Ever

Je viens d’installer xgboost pour Python 2.7 et Python 3.5, Anaconda, Machine 64 bits et Python 64 bits.

les deux TRES simple, AUCUN VS2013 ou git requis.

Je pense que cela fonctionne aussi pour le python normal.

Si vous utilisez python 3.5:

1: téléchargez le package ici , la version dépend de votre version de python, python3.5 ou python 3.6, 32bit ou 64bit. 

2: utilisez la fenêtre de commande, utilisez cd pour créer le dossier de téléchargement comme étant votre pwd, puis utilisez

pip install filename.whl

OK, terminé . Pour des étapes plus détaillées, voir cette réponse

si vous utilisez python 2.7, vous n'avez PAS besoin de télécharger le VS2013 pour le construire vous-même, car je l'ai construit, vous pouvez télécharger le fichier que j'ai construit et l'installer directement

1: Téléchargez-le ici par google drive

2: Téléchargez-le, décompressez-le, collez-le ici:

"votre chemin python\Lib\site-packages"

Alors vous devriez avoir quelque chose qui ressemble à ça:

 enter image description here

3: Dans le dossier de paquet python montré ci-dessus, utilisez la fenêtre cmd, cd là et lancez

python setup.py install 

utiliser ce code 

 import xgboost 

dans votre python pour vérifier si vous avez installé mingw-64 ou non, aucune information d'erreur signifie que vous avez installé le mingw-64 et que vous avez terminé.

S'il y a des informations d'erreur 

"WindowsError: [Error 126]"

Cela signifie que vous n'avez pas encore installé mingw-64 et qu'il vous reste encore une étape.

Téléchargez le mingw-64 ici: http://sourceforge.net/projects/mingw-w64/

Choisissez x86_64 au lieu de "i686" par défaut lorsque vous avez installé mingw-64, .__, puis ajoutez "votre chemin d'installation\x86_64-6.2.0-posix-seh-rt_v5-rev1\mingw64\bin;" à votre PATH, cela devrait ressembler à ceci:

"C:\Program Files\mingw-w64\x86_64-6.2.0-posix-seh-rt_v5-rev1\mingw64\bin;"

(c'est à moi).

N'oubliez pas le ";" Sur le chemin.

Ensuite, vous avez terminé, vous pouvez utiliser 

import xgboost 

dans votre python pour vérifier ça, ouais!

PS: si vous ne savez pas comment ajouter un chemin, il suffit de le rechercher sur Google pour trouver des solutions. Ne vous inquiétez pas, c'est très simple.

10
Statham

Si vous installez XGBoost pour un projet particulier et que vous utilisez Pycahrm, vous devez suivre les procédures indiquées ci-dessous:

  1. Téléchargez xgboost‑0.72‑cp36‑cp36m‑win_AMD64.whl depuis Ici (comme j'utilise Python 3.6 si vous utilisez une version différente de Python comme 2.7, vous devez installer xgboost‑0.72‑cp27‑cp27m‑win_AMD64.whl).

  2. Copiez le dans votre répertoire Project Interpreter. Vous pouvez trouver le répertoire de Project Interpreter en cliquant sur File -> Settings -> Project Interpreter dans Pycharm.

  3. Ouvrir l'invite de commande. Accédez au répertoire de votre interprète de projet à partir de cmd. Écrivez la commande suivante: pip install xgboost-0.72-cp36-cp36m-win_AMD64.whl

3
Akib Khan

Ajouter "git checkout 9a48a40" à la solution ci-dessus de Disco4Ever a fonctionné pour moi:

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
git checkout 9a48a40
git submodule init
git submodule update

Ceci a été à l'origine posté par Cortajarena ici: https://github.com/dmlc/xgboost/issues/1267

Aussi, pour ce que ça vaut, j'avais initialement Python 32 bits fonctionnant sur ma machine 64 bits et je devais télécharger Python 64 bits pour XGBoost pour fonctionner.

1
ezchx

Après avoir construit la version c ++, copiez les fichiers dll et lib dans les versions ../windows/x64/Release/..(if si vous construisez la version x64) dans ../wrapper/ puis exécutez le programme d'installation python.py 

1
user5733275

Vous pouvez installer xGBoost à l’aide de Visual Studio ou de minGW. Depuis, le site officiel de xgboost dit que la compilation de MSVC n’est pas encore mise à jour, j’ai essayé d’utiliser mingw64 . Je suis en train d’exécuter xgboost (paquet python) sur mon win7 x64. Les étapes que j'ai suivies étaient:

1) Suivez les étapes de Disco4Ever pour l’installation de ming64 (mentionné ci-dessus dans les réponses).

2) Installez Git pour Windows. lien de téléchargement Windows . Cela installera également Git Bash. Ajoutez git-installation-directory\cmd à la liste de variables d'environnement de votre système PATH.

3) Maintenant, clonez xGBoost à l’emplacement souhaité. Tapez ce qui suit en cmd:

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
git submodule init
git submodule update
cp make/mingw64.mk config.mk
make -j4

4) Dans le répertoire racine de xgboost, il devrait y avoir un script Shell nommé "build". Ouvrez-le. Il va ouvrir un Git Bash et commencer à construire. Après la construction, le fichier xgboost.exe sera créé.

5) Maintenant, installez le paquet python:

cd python-package
python setup.py install

Vous pouvez tester en important xgboost en python. 

1
Aman Gill

Merci à disco4ever de répondre. J'essayais de construire xgboost pour l'environnement Python Anaconda sur mon ordinateur Windows 10 64 bits. Utilisé Git, mingw64 et windows cmd de base.

Tout a fonctionné pour moi jusqu'à l'étape de la copie: cp make/mingw64.mk config.mk, car j'utilisais Windows cmd, je l'ai modifié pour copier c:\xgboost\make\mingw64.mk c:\xgboost\config.mk

quand je suis passé à l'étape suivante: make -j4, j'ai eu une erreur qui a échoué. À ce stade, après tant de frustrations, nous avons épuisé quelque chose de différent en cliquant sur build.sh (script Shell). Il a commencé à s'exécuter et s'est terminé automatiquement. 

Ensuite, j’ai exécuté la même étape make -j4. J'ai vu le fichier xgboost.exe le plus attendu dans mon dossier xgboost. 

J'ai ensuite procédé à d'autres étapes et exécuté python setup.py install. enfin tout est parfaitement installé. Ensuite, je suis allé voir mon spyder et j'ai vérifié s'il fonctionnait ou non. Mais j'étais à un pas de mon bonheur parce que je voyais encore l'erreur d'importation. 

Toutes les invites de commande fermées (Anaconda, Git bash, Windows CMD, terminal cygwin) ont à nouveau ouvert spyder et saisi 'import xgboost'. Succès, pas d'erreur. 

Encore une fois merci pour tout le monde.

1
dana

J'ai suivi les étapes indiquées dans https://www.kaggle.com/c/otto-group-product-classification-challenge/forums/t/13043/run-xgboost-from-windows-and-python . Je vais résumer ce que j'ai fait ci-dessous.

1) Téléchargez Visual Basic Studio. Vous pouvez télécharger l'édition communautaire sur le site Web de Visual Studio. Il y a un "bouton Visual Studio gratuit dans le coin supérieur droit"

2) Copiez tout le contenu du référentiel git hub de xgboost/tree/master/windows et du projet existant Open Visual studio sur Visual studio.

3) Vous devez sélectionner deux menus déroulants ("Libérer" et "X64", puis sélectionner "Construire -> Tout construire" dans le menu supérieur. Il devrait ressembler à la capture d'écran ci-jointe.

4) si vous voyez le message ========== Build: 3 réussi, 0 échoué, 0 à jour, 0 ignoré ==========, c'est tout bon

5) Naviguez jusqu'au dossier python-packages où se trouve le fichier d'installation de XGB et exécutez la commande d'installation 'python setup.py install'.

Vous pouvez trouver un thread similaire sur Installez xgboost sous Python lorsque msys 32 bits échoue

J'espère que cela t'aides.

1
Falconic

À ajouter à la solution de Disco4ever pour ceux qui tentent de construire sur des machines Windows 32 bits.

Après avoir exécuté l’étape 6 et créé un fichier config.mk, vous devez aller dans ce fichier et modifier les lignes suivantes pour supprimer l’indicateur -m64.

export CXX=g++ -m64
export CC=gcc -m64
1
jim

Cela a pris une journée entière, mais j’ai réussi à installer xgboost sous Windows 7 64 bits en utilisant TDM-GCCavec OpenMP activé, au lieu de MingW en suivant ce lien - http://dnc1994.com/2016/03/installer-xgboost-on-windows/

0
Bolaka

Sur Windows 10, avec Python 3.6, la commande ci-dessous a fonctionné.

À partir de l'invite Anaconda, la commande ci-dessous peut être utilisée directement. La capture d’écran est jointe en tant que preuve . Pip install xgboost enter image description here

0
Nages

Vous pouvez installer XGBoost en 3 étapes: 

  1. Recueillez des informations sur votre système (version python et architecture système - 32 bits ou 64 bits)

  2. télécharger les fichiers .whl associés à partir de https://www.lfd.uci.edu/~gohlke/pythonlibs/

par exemple. si votre version de python est 3.7 et que Windows est 32 bits, le fichier approprié est: 

xgboost ‑ 0.72 ‑ cp37 ‑ cp37m ‑ win32.whl

  1. lancer pip installer votrefichierdownloaded.whl

Vous pouvez également trouver les étapes détaillées ici

0
farhad rubel

J'aimerais ajouter une petite solution de contournement à la solution Disco4ever.

Pour moi, je suis incapable de cloner en cygwin. La solution de contournement consiste donc à l'exécuter dans la commande Invite sous Windows et à effectuer le reste de la tâche sous cygwin.

Utilisez cd c:\xgboost dans la 3ème ligne pour le faire fonctionner dans cygwin. Donc, la dernière partie mise à jour est comme ça.

cd c:\
git clone --recursive https://github.com/dmlc/xgboost
cd c:\xgboost
git submodule init
git submodule update
cp make/mingw64.mk config.mk
make -j4

Et, une fois l’installation terminée, vous pouvez désinstaller git et cygwin, mais xgboost et mingw64 doivent être conservés tels quels.

0
boral

Notez que: avant "make -j4", utilisez gcc -v pour vérifier votre version de gcc.

Quant à moi, mon environnement est win10 + anaconda (python 2.7), lorsque je lance make -j4. Il montre l'erreur std :: mutex. Après que j'utilise gcc- v Cela fait écho à gcc4.7 (le gcc par défaut d’Anaconda). Après avoir choisi mon gcc pour le 6.2 gcc de mingw64, cela fonctionne.

Enfin, j'utilise "/d/Anaconda2/python.exe setup.py install" pour installer le paquet python xgboost.

0
Jayhello

Voici un lien très utile avec les points importants à surveiller lors de l’installation. Il est très important d'installer "openmp". Sinon, vous recevrez un message d'erreur.

Le lien fournit des instructions pas à pas pour l'installation. Voici une citation:

Construire Xgboost

Pour être juste, il n'y a rien de mal à ce que le guide officiel de installation de xgboost sous Windows. Mais j’aimerais quand même en souligner plusieurs points ici pour économiser votre temps.

git clone --recursive https://github.com/dmlc/xgboost  
cd xgboost  
wget https://www.dropbox.com/s/y8myex4bnuzcp03/Makefile_win?dl=1
cp Makefile_win Makefile
cp make/mingw64.mk config.mk
mingw32-make

Makefile_win est une version modifiée (merci à Zhou Xiyou) du Makefile original en fonction du processus de construction sous Windows. Vous pouvez wget le ou le télécharger ici. Veillez à utiliser un shell UNIX pour cela parce que Windows CMD a un problème avec la commande mkdir -p. Git Bash est conseillé. Assurez-vous d'utiliser l'option --recursive avec git clone. Etre sur d'utiliser un bon MinGW. TDM-GCC est recommandé. Notez que par défaut, il n’installe pas OpenMP pour vous. Vous devez spécifier sinon le la construction échouerait.

Un autre lien utile est la procédure officielle: guide officiel

Bonne chance!

0
George Liu