it-swarm.com.ru

Как установить пакет xgboost в python (платформа Windows)?

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

На домашней странице xgboost (ссылка выше) написано: Чтобы установить XGBoost, выполните следующие действия:

  1. Вам нужно запустить make в корневой директории проекта

  2. В каталоге пакета python запустите

    python setup.py установить

Однако, когда я это сделал, на шаге 1 появилась следующая ошибка: Make: Термин «make» не распознается как имя командлета, функции, файла сценария или работоспособной программы. Проверить написание имени, или, если путь был включен, проверьте правильность пути и повторите попытку.

затем я пропускаю шаг 1 и сделал шаг 2 напрямую, появляется другая ошибка:

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?

Кто-нибудь знает, как установить xgboost для python на платформе Windows10? Спасибо за вашу помощь!

43
Robin1988

Я успешно установил XGBoost в Windows 8 64bit, Python 2.7 с Visual Studio 2013 (не требуется mingw64)

Обновлено 15.02.2017

С новой версией XGBoost, вот мои шаги

Шаг 1. Установите cmake https://cmake.org/download/

Убедитесь, что cmake были успешно установлены

$ cmake
Usage

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

Шаг 2. Clone xgboost source

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

Шаг 3. Создать проект Visual Studio

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

Шаг 4. Сборка проекта Visual Studio 2013

  • Открыть файл xgboost_dir/build/ALL_BUILD.vcxproj в Visual Studio 2013
  • В Visual Studio 2013 откройте BUILD > Configuration Manager...
    • выберите Release в конфигурации активного решения
    • выберите x64 в платформе Active Solution
  • Нажмите BUILD> Построить решение (Ctrl + Shift + B)

После сборки решения в папке libxgboost.dll создаются два новых файла xgboost.exe и xgboost_dir/lib

Шаг 5. Сборка пакета Python

  • Скопировать файл libxgboost.dll в xgboost_dir/python-package
  • Перейдите в папку xgboost_dir/python-package
  • Запустить команду python setup.py install

Убедитесь, что xgboost успешно установлен

$ python -c "import xgboost"

Старый ответ

Вот мои шаги:

  1. git clone https://github.com/dmlc/xgboost
  2. git checkout 9bc3d16
  3. Откройте проект в xgboost/windows с Visual Studio 2013
  4. В Visual Studio 2013 откройте BUILD > Configuration Manager...,
    • выберите Release в Active solution configuration
    • выберите x64 в Active solution platform
  5. Перестройте xgboost, xgboost_wrapper
  6. Скопируйте весь файл в папке xgboost/windows/x64/Release в xgboost/wrapper
  7. Перейти к xgboost/python-package, запустить команду python setup.py install
  8. Проверьте xgboost, выполнив команду python -c "import xgboost"
20
Vu Anh

Если кто-то ищет более простое решение, которое не требует его компиляции самостоятельно:

  1. загрузите файл xgboost whl из здесь (убедитесь, что ваша версия Python соответствует архитектуре системы, например, "xgboost-0.6-cp35-cp35m-win_AMD64.whl" для python 3.5 на 64-разрядной машине)
  2. открыть командную строку
  3. cd в папку «Загрузки» (или куда вы сохранили файл whl)
  4. pip install xgboost-0.6-cp35-cp35m-win_AMD64.whl (или как называется ваш whl-файл)

Если вы обнаружите, что он не будет установлен из-за отсутствия зависимости, сначала загрузите и установите зависимость и повторите попытку. 

Если он жалуется на права доступа, попробуйте открыть командную строку с правами администратора и повторите попытку.

Это дает вам xgboost и оболочку scikit-learn и избавляет вас от необходимости мучиться с компиляцией. :)

142
brettlyman

Обратите внимание, что с самого последнего выпуска инструкции Microsoft Visual Studio больше не применяются, так как эта ссылка возвращает ошибку 404:

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

Вы можете прочитать больше об удалении сборки MSVC из комментария Tianqi Chen здесь .

Итак, вот что я сделал, чтобы закончить 64-битную сборку в Windows:

  1. Загрузите и установите MinGW-64: http://sourceforge.net/projects/mingw-w64/
  2. На первом экране приглашения установки убедитесь, что для архитектуры установлено значение x86_64, а для потоков - win32.
  3. Я установил в C:\mingw64 (чтобы избежать пробелов в пути к файлу), поэтому я добавил это в переменную среды PATH: C:\mingw64\mingw64\bin
  4. Я также заметил, что утилита make, включенная в bin\mingw64, называется mingw32-make, поэтому для упрощения я просто переименовала ее в make
  5. Откройте командную строку Windows и введите gcc. Вы должны увидеть что-то вроде «фатальная ошибка: нет входного файла»
  6. Следующий тип сделать. Вы должны увидеть что-то вроде «Не указаны цели и не найден make-файл»
  7. Наберите git. Если у вас нет git, установите его и добавьте в свой PATH.

Это должны быть все инструменты, необходимые для создания проекта xgboost. Чтобы получить исходный код, запустите эти строки:

  1. cd c: \
  2. git clone --recursive https://github.com/dmlc/xgboost
  3. cd xgboost
  4. git submodule init
  5. обновление подмодуля git
  6. cp make/mingw64.mk config.mk
  7. сделать -j4

Обратите внимание, что я запустил эту часть из оболочки Cygwin. Если вы используете командную строку Windows, вы можете изменить cp для копирования и получить тот же результат. Однако, если сборка не удалась по какой-либо причине, я бы порекомендовал попробовать еще раз, используя cygwin.

Если сборка завершается успешно, у вас должен быть файл с именем xgboost.exe, расположенный в корне проекта. Чтобы установить пакет Python, выполните следующие действия: 

  1. cd python-пакет
  2. python setup.py установить

Теперь тебе должно быть хорошо идти. Откройте Python, и вы можете импортировать пакет с помощью:

import xgboost as xgb

Чтобы проверить установку, я запустил файл basic_walkthrough.py, который был включен в папку demo/guide-python проекта, и не получил никаких ошибок. 

29
Disco4Ever

Я только что установил xgboost для своего python 2.7 и python 3.5, anaconda, 64-битной машины и 64-битной python.

оба ОЧЕНЬ просты, не требуются VS2013 или git.

Я думаю, что это работает и для обычного питона.

Если вы используете Python 3.5:

1: скачайте пакет здесь , версия зависит от вашей версии python, python3.5 или python 3.6, 32bit или 64bit. 

2: используйте командное окно, используйте cd, чтобы сделать папку загрузки в качестве вашего pwd, затем используйте

pip install filename.whl

ОК, закончили . Для более подробных шагов см. этот ответ

если вы используете python 2.7, вам не нужно загружать VS2013, чтобы собрать его самостоятельно, потому что я его создал, вы можете скачать созданный мной файл и установить его непосредственно

1: Загрузите его здесь с помощью Google Drive

2: Загрузите это, распакуйте это, вставьте это здесь:

"ваш путь к питону\Lib\site-packages"

Тогда у вас должно получиться что-то похожее на это:

 enter image description here

3: В папке python-package, показанной выше, используйте окно cmd, перейдите туда и запустите

python setup.py install 

используйте этот код 

 import xgboost 

в вашем python, чтобы проверить, установлен ли у вас mingw-64 или нет, информация об ошибках не означает, что вы установили mingw-64 и все готово.

Если есть информация об ошибке 

«Ошибка Windows: [Ошибка 126]»

Это означает, что вы не установили mingw-64, и у вас есть еще один шаг.

Загрузите mingw-64 здесь: http://sourceforge.net/projects/mingw-w64/

Выберите x86_64 вместо значения по умолчанию «i686» при установке mingw-64, Затем добавьте «путь установки\x86_64-6.2.0-posix-seh-rt_v5-rev1\mingw64\bin;» к вашему PATH, это должно быть что-то вроде этого:

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

(это мое).

Не забывайте ";" в ПУТИ.

Тогда вы закончили, вы можете использовать 

import xgboost 

в вашем питоне, чтобы проверить это, да!

PS: если вы не знаете, как добавить путь, просто Google, чтобы получить решения. Не волнуйся, это очень просто.

10
Statham

Если вы устанавливаете XGBoost для определенного проекта и используете Pycahrm, вам необходимо выполнить следующие процедуры:

  1. Загрузите xgboost‑0.72‑cp36‑cp36m‑win_AMD64.whl из Здесь (поскольку я использую Python 3.6, если вы используете другую версию Python, например 2.7, вам нужно установить xgboost‑0.72‑cp27‑cp27m‑win_AMD64.whl).

  2. Скопируйте в каталог Project Interpreter. Вы можете найти каталог Project Interpreter, нажав File -> Settings -> Project Interpreter в Pycharm.

  3. Откройте командную строку. Перейдите в каталог к ​​вам Project Interpreter из cmd. Напишите следующую команду: pip install xgboost-0.72-cp36-cp36m-win_AMD64.whl

3
Akib Khan

Добавление «git checkout 9a48a40» в решение Disco4Ever, описанное выше, сработало для меня:

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

Это было первоначально размещено Cortajarena здесь: https://github.com/dmlc/xgboost/issues/1267

Кроме того, что бы это ни стоило, у меня изначально был 32-битный Python, работающий на моей 64-битной машине, и мне пришлось загрузить 64-битный Python для работы XGBoost.

1
ezchx

После сборки версии c ++ скопируйте файлы dll и lib выпуска в ../windows/x64/Release/..( если вы собираете версию для x64) в ../wrapper/, затем запустите python setup.py install 

1
user5733275

Вы можете установить xGBoost, используя Visual Studio или minGW. Поскольку на официальном сайте xgboost написано, что сборка MSVC еще не обновлена, я попытался использовать mingw64 . Я использую xgboost (пакет python) на моей win7 x64. Шаги, за которыми я следовал, были:

1) Следуйте инструкциям Disco4Ever для установки ming64 (упомянутых выше в ответах).

2) Установите Git для Windows. ссылка для загрузки Windows . Это также установит Git Bash. Добавьте git-installation-directory\cmd в список переменных системной среды PATH.

3) Теперь клонируйте xGBoost в нужное место. Введите следующее в 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) В корневом каталоге xgboost должен быть скрипт Shell с именем «build». Открой это. Это откроет Git Bash и начнет строить. После сборки будет создан файл xgboost.exe.

5) Теперь установите пакет Python:

cd python-package
python setup.py install

Вы можете проверить, импортировав xgboost в python. 

1
Aman Gill

Благодаря disco4ever ответ. Я пытался собрать xgboost для среды Python Anaconda на моей 64-битной машине с windows 10. Используются Git, mingw64 и основные окна cmd.

У меня все работало до шага копирования: cp make/mingw64.mk config.mk, так как я использовал windows cmd, я изменил его для копирования c:\xgboost\make\mingw64.mk c:\xgboost\config.mk

когда я перешел к следующему шагу: make -j4, я получил ошибку, что сборка не удалась. На этом этапе после стольких разочарований просто надоело что-то другое, нажав на build.sh (сценарий оболочки). Это начало выполняться и авто закончено. 

Затем я выполнил тот же шаг make -j4, чтобы моя сборка была успешной. Я видел самый ожидаемый файл xgboost.exe в моей папке xgboost. 

Затем я продолжил дальнейшие шаги и выполнил установку python setup.py. наконец все установлено отлично. Тогда я пошел к своему шпиону и проверил, работает ли он или нет. Но я был в шаге от счастья, потому что все еще видел ошибку импорта. 

Закрыл все командные строки (Anaconda, Git bash, Windows CMD, терминал cygwin), затем снова открыл spyder и набрал «import xgboost». УСПЕХА, ОШИБКИ нет. 

Еще раз спасибо за всех.

1
dana

Я выполнил шаги, перечисленные в https://www.kaggle.com/c/otto-group-product-classification-challenge/forums/t/13043/run-xgboost-from-windows-and-python . Я подведу итог тому, что я сделал ниже.

1) Скачать Visual Basic Studio. Вы можете скачать версию сообщества на сайте visual studio. В правом верхнем углу есть «бесплатная визуальная кнопка студии»

2) Скопируйте весь контент из репозитория git hub в xgboost/tree/master/windows и откройте существующий проект Open Visual Studio на Visual Studio

3) Есть несколько выпадающих меню, которые нужно выбрать («Release» и «X64», а затем выберите build -> build all из верхнего меню. Оно должно выглядеть примерно так, как на скриншоте).

4) если вы видите сообщение ========== Сборка: 3 выполнено успешно, 0 не выполнено, 0 обновлено, 0 пропущено ==========, все хорошо

5) Перейдите в папку python-packages, где находится установочный файл для XGB, и выполните команду установки 'python setup.py install'.

Вы можете найти аналогичную тему в Установить xgboost под python с ошибкой 32-битной msys

Надеюсь это поможет.

1
Falconic

Чтобы добавить решение Disco4ever для тех, кто пытается использовать 32-битные Windows-машины.

После выполнения шага 6 и создания файла config.mk вам нужно зайти в этот файл и отредактировать следующие строки, чтобы убрать флаг -m64

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

Это заняло целый день, но я успешно установил xgboost на 64-разрядную версию Windows 7, используя TDM-GCCс включенным OpenMP вместо MingW по этой ссылке - http://dnc1994.com/2016/03/Установка-xgboost-на-окнах/

0
Bolaka

На windows 10, с python 3.6, ниже работала команда.

Из подсказки Anaconda нижеприведенная команда может быть использована напрямую. Снимок экрана прилагается в качестве доказательства . Pip install xgboost  enter image description here

0
Nages

Вы можете установить XGBoost, используя следующие 3 шага: 

  1. Сбор информации о вашей системе (версия Python и системная архитектура - 32-разрядная или 64-разрядная)

  2. загрузить связанный .whl с https://www.lfd.uci.edu/~gohlke/pythonlibs/

например Если у вас версия Python 3.7, а Windows 32-битная, то подходящий файл: 

xgboost-0,72-cp37-cp37m-win32.whl

  1. запустите pip install yourdownloadedfile.whl

Вы также можете найти подробные шаги здесь

0
farhad rubel

Я хотел бы добавить небольшой обходной путь к решению Disco4ever.

Для меня я не смог выполнить клонирование в Cygwin. Поэтому обходной путь - выполнить его в командной строке в Windows и выполнить остальную часть задачи в Cygwin.

Используйте cd c:\xgboost в 3-й строке, чтобы он работал в cygwin. Итак, обновленная последняя часть выглядит следующим образом.

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

И после завершения установки вы можете удалить git и cygwin, но xgboost и mingw64 должны быть сохранены как есть.

0
boral

Обратите внимание: перед «make -j4» используйте gcc -v для проверки вашей версии gcc.

Что касается меня, моя среда - это win10 + anaconda (python 2.7), когда я запускаю make -j4. Он показывает ошибку std :: mutex. После того, как я использую gcc-v, он повторяет gcc4.7 (gcc по умолчанию от anaconda). После того, как я выберу свой gcc для 6.2 gcc mingw64, он будет работать.

Наконец, я использую «/d/Anaconda2/python.exe setup.py install» установочный пакет Python xgboost.

0
Jayhello

Вот очень полезная ссылка с важными моментами на которую следует обратить внимание во время установки. Очень важно установить «openmp». В противном случае вы получите сообщение об ошибке.

Ссылка содержит пошаговую инструкцию по установке. Вот некоторая цитата:

Сборка Xgboost

Честно говоря, нет ничего плохого в официальном руководстве для установка xgboost в Windows. Но все же я хотел бы подчеркнуть несколько указывает здесь, чтобы сэкономить ваше время.

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 - это модифицированная версия (спасибо Zhou Xiyou) оригинальный Makefile для соответствия процессу сборки на Windows. Вы можете Wget или скачать его здесь. Обязательно используйте UNIX Shell для этого потому что Windows CMD имеет проблему с командой mkdir -p. Git Bash это рекомендуемые. Обязательно используйте параметр --recursive с git clone. Быть уверенным использовать правильный MinGW. TDM-GCC рекомендуется. Обратите внимание, что по умолчанию это не будет устанавливать OpenMP для вас. Вы должны указать это иначе Строительство не удастся.

Еще одна полезная ссылка - официальная процедура: официальное руководство

Удачи!

0
George Liu