2016-09-04 8 views
12

Я новичок и изучаю питон. Может кто-то мне помочь - как установить xgboost в python. Я использую Mac 10.11. Я читал в Интернете и сделал ниже упомянутый шаг, но не в состоянии расшифровать, что делать дальше:Как установить xgboost в python на MacOS?

pip install xgboost - 
+3

можете ли вы объяснить, что ваша точная проблема? Например, если вы получаете какую-либо ошибку, может вы записываете их здесь? –

+0

i ran * pip install xgboost * он дал мне ошибку _Command "python setup.py egg_info" не удалось с кодом ошибки 1 в/private/var/folders/hj/kdbpyx0s6y3flcbtj_j71gmc0000gn/T/pip-build-br5u893_/xgboost/_ Возможно вы предлагаете мне пошаговые инструкции по установке xgboost в python с нуля? Спасибо (: –

+0

Вы пробовали мой ответ? Может ли это подтвердить? –

ответ

4

Для обучения новичков питона и машинного обучения на Mac, я бы сильно Recommand установить Anaconda первый (install doc)

.

Анаконда является Freemium открытого распределительного источник языков программирования Python и R для крупномасштабной обработки данных, прогностический аналитика и научные вычисления, которая направлена ​​на упрощение пакета управления и развертывания.

Если вы установили Anaconda для Python 2.7, то вы не должны иметь никаких проблем с установкой XGBoost с:

conda install -c aterrel xgboost=0.4.0 

Если вы уже установили Anaconda и что ваш пип установка XGBoost неудачу, вы должны попробовать:

conda remove xgboost 
conda install -c aterrel xgboost=0.4.0 
+2

amans-air-2: ~ amansanduja $ conda ** install -c aterrel xgboost = 0.4.0 ** Используйте «conda info », чтобы увидеть зависимости для каждого пакета. _ Я выполнил команду, выделенную жирным шрифтом на терминале, и получил следующий вывод: Использование сайта Anaconda Cloud api https://api.anaconda.org Получение метаданных пакета ......... Решения для спецификации пакета: .... Следующие признаки оказались в конфликте: - python 3.5 * - xgboost 0.4.0 * Не могли бы вы помочь, что делать? Заранее спасибо –

+0

Python в основном поставляется в двух версиях: 2.7 и 3.5. Вы должны установить Anaconda для python 2.7. тогда все будет хорошо. Сожалею. –

4

Для Python-3.x, выполните следующие действия в Mac

Убедитесь, что GCC-6 (и г ++ - 6) устанавливается, если не делать это с

brew install gcc 

Затем сделайте следующее

git clone --recursive https://github.com/dmlc/xgboost 
cd xgboost/ 
make -j4 
cd python-package 
python3 setup.py install 

Если вы используете Anaconda и еще не настроили свой путь, чтобы использовать двоичные файлы в ~/anaconda/bin, а затем запустить последнюю строку как

/path/to/anaconda/bin/python3 setup.py install

21

Это немного сложнее, если вы хотите использовать многопоточность. Для записи я использую Mac с OS X 10.10 (Yosemite). Мне потребовалось некоторое время для решения различных проблем, но теперь она отлично работает в моей среде Anaconda (Py36).

Для многопоточных вам необходимо выполнить следующие действия первым (установить доморощенный, если вы еще не сделали этого):

brew install gcc --without-multilib 

Вы можете получить некоторые предупреждения UNLINK каталогов или удалить их, если вы установили другие версии ; следуйте указаниям/инструкциям.

Далее вы получите файлы xgboost от Github. Я загрузил его в каталог Anaconda/pkgs.

git clone --recursive https://github.com/dmlc/xgboost 

Следующая серия шагов отличается от документации на сайте xgboost, и я мощеную вместе с большим количеством источников, а также экспериментировать. Проблема в том, что некоторые ключевые строки в файлах make комментируются, а также не полностью указаны.

cd xgboost; cp make/config.mk ./config.mk 

Теперь, используя ваш любимый редактор (я использовал VI) и откройте файл, скопированный из /make в /xgboost

vi config.mk 

раскомментируйте строки вблизи верхней части файла:

export CC = gcc

export CXX = g++

Измените их на следующее:

export CC = gcc-6 

export CXX = g++-6 

Вполне возможно, что просто раскомментировать строки решает эту проблему. Это не для меня; Мне нужно было добавить -6 в обе строки. Сохраните файл.

Также внести изменения в файл xgboost/Makefile; изменить линии 47 и 50, чтобы отобразить команды выше. Опять же, я использовал vi для этого редактирования.

Сохраните файл, и теперь вам нужно выполнить этап очистки, так как вы изменили Makefile.

make clean_all && make -j4 

Это должно обеспечить его чистоту и сборку библиотеки. Вам все равно нужно установить его.

cd python-package; python setup.py install 

Теперь перезапустите Python/Anaconda и вы сможете импортировать библиотеку.

+0

Большое спасибо за это, у меня был кошмар с ним весь день, пока вы не нашли это подробное объяснение. Еще раз спасибо! :) – George

+0

Привет, https://github.com/dmlc/xgboost/issues/1501, Это еще одно решение. – xu2mao

+7

Запуск OSX Sierra здесь, похоже, что заварка устанавливает gcc 7 сейчас. Мне пришлось менять gcc-7 и g ++ - 7. – BenDundee

3

Я последовал Брайан Батлер answer, и она работала, мне просто нужно было внести некоторые изменения:

  • gcc-7/g++-7 вместо gcc-6/g++-6.
  • Во время бега make clean_all && make -j4 У меня была ошибка с as. Итак, мне просто нужно было запустить export PATH=/usr/bin:$PATH, и это сработало!
3

ДЛЯ PYTHON 2.7

$ conda install -c aterrel xgboost=0.4.0 

ИЛИ

$ conda install -c biconda xgboost=0.6a2 

ДЛЯ PYTHON 3.6

$ brew install [email protected] 
$ pip install xgboost 
0

Вы можете установить пип catboost. Это недавно открытая библиотека повышения градиента, она имеет аналогичные интерфейсы и более точная, чем XGBoost, быстрее и имеет категориальные функции поддержки из коробки. Вот сайт библиотеки: https://catboost.yandex

1

Все остальные способы, описанные здесь, не удались в моем случае.Мне удалось установить, следуя официальной установке, описанной здесь: http://xgboost.readthedocs.io/en/latest/build.html#building-on-macos

Моя система MacOS Serria, поэтому я выполнил инструкцию «Построение на macOS».

Однако, вместо того, чтобы "заменить эти две строки в (5 или 6 или 7, в зависимости от вашего GCC-версии" WRT файл Config.mk, я сделал:

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

Несмотря на то, gcc-version показал Apple LLVM version 9.0.0 .

После этого, следуя официальную инструкцию по «установке Python Package» Я был в состоянии запустить пакет в Python.