Подтвердить что ты не робот

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

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

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

  • Вам нужно запустить make в корневой каталог проекта

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

    установка python setup.py

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

то я пропущу step1 и сразу сделаю шаг 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? Спасибо за вашу помощь!

4b9b3361

Ответ 1

Я успешно установил 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. Источник клона xgboost

$ 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 в конфигурации Active solution
    • выберите x64 в активной платформе решений.
  • Нажмите BUILD > Build Solution (Ctrl + Shift + B)

После решения сборки в папке xgboost_dir/lib

создаются два новых файла libxgboost.dll и xgboost.exe

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

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

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

$ python -c "import xgboost"

Старый ответ

Вот мои шаги:

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

Ответ 2

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

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

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

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

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

Ответ 3

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

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

Подробнее о удалении сборки MSVC из комментария Tianqi Chen здесь.

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

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

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

  • cd c:\
  • git clone --recursive https://github.com/dmlc/xgboost
  • cd xgboost
  • git подмодуль init
  • git обновление подмодуля
  • cp make/mingw64.mk config.mk
  • make -j4

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

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

  • cd python-package
  • установка python setup.py

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

import xgboost as xgb

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

Ответ 4

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

оба ОЧЕНЬ просты, нет 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 Диска

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

"ваш путь к python\Lib\site-packages"

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

введите описание изображения здесь

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

python setup.py install 

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

 import xgboost 

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

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

"WindowsError: [Ошибка 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;"

(это мое).

Не забывайте ";" в PATH.

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

import xgboost 

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

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

Ответ 5

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

Ответ 6

Я выполнил шаги, перечисленные в 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 xgboost/tree/master/windows и существующего проекта Visual Visual Studio на Visual Studio

3) Есть несколько выпадающих меню, которые вам нужно выбрать ( "Отпустить" и "X64", а затем выберите "Создать" → "Создать все" из верхнего меню. Он должен выглядеть примерно так, как показано на скриншоте.

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

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

Вы можете найти аналогичный поток в Установить xgboost под python с отказом 32-разрядных msys

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

Ответ 7

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

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

2) Установите Git для окон. ссылка для загрузки 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 должна быть оболочка script с именем "build". Открой это. Он откроет Git Bash и начнет строить. После создания будет создан файл xgboost.exe.

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

cd python-package
python setup.py install

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

Ответ 8

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

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

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

Ответ 9

Добавление "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.

Ответ 10

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

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

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

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

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

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

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

Ответ 11

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

Ответ 12

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

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

Удачи!

Ответ 13

Я хотел бы добавить небольшое решение для решения Disco4ever.

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

Используйте cd c:\xgboost в третьей строке, чтобы заставить его работать в 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 должны быть сохранены как есть.

Ответ 14

Обратите внимание: перед "make -j4" используйте gcc -v, чтобы проверить версию gcc.

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

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